Google I/O 2022 で発表された Firebase の最新情報をご覧ください。詳細

Firebaseプロジェクトを理解する

このページでは、Firebase プロジェクトに関するいくつかの重要な概念の概要を簡単に説明します。リンクが利用可能な場合は、機能、サービス、ツール、およびベスト プラクティスに関する詳細情報を参照してください。

Firebase プロジェクト、アプリ、プロダクトの関係

Firebase プロジェクトは、Firebase の最上位エンティティです。プロジェクトでは、Apple、Android、または Web アプリを登録できます。アプリを Firebase に登録したら、Analytics、Cloud Firestore、Performance Monitoring、Remote Config など、任意の数のFirebase 製品に Firebase SDK を追加できます。

このプロセスの詳細については、お使いのプラットフォームの入門ガイドをご覧ください。
iOS+ |アンドロイド|ウェブ| ウェブ |団結| C++ |フラッター

Firebase プロジェクトの階層を理解する

プロジェクト、登録されたアプリ、プロビジョニングされたリソースとサービスを含む、Firebase プロジェクトの基本的な階層を示す図この図は、Firebase プロジェクトの基本的な階層を示しています。主な関係は次のとおりです。

  • Firebase プロジェクトは、すべてのアプリと、プロジェクト用にプロビジョニングされたリソースとサービスのコンテナのようなものです。

  • Firebase プロジェクトには、1 つ以上のFirebase アプリを登録できます (たとえば、アプリの iOS バージョンと Android バージョンの両方、またはアプリの無料バージョンと有料バージョンの両方)。

  • 同じ Firebase プロジェクトに登録されたすべての Firebase アプリは共有し、プロジェクト用にプロビジョニングされたすべての同じリソースとサービスにアクセスできます。ここではいくつかの例を示します。

    • 同じ Firebase プロジェクトに登録されたすべての Firebase アプリは、Firebase Hosting、Authentication、Realtime Database、Cloud Firestore、Cloud Storage、Cloud Functions などの同じバックエンドを共有します。

    • 同じ Firebase プロジェクトに登録されているすべての Firebase アプリは、同じ Google アナリティクス プロパティに関連付けられています。各 Firebase アプリは、そのプロパティ内の個別のデータ ストリームです。

Firebase プロジェクトと Google Cloud の関係

新しい Firebase プロジェクトを作成すると、実際にはバックグラウンドでGoogle Cloud プロジェクトが作成されます。最初に Google Cloud プロジェクトを作成し、後で Firebase をプロジェクトに追加することもできます。 Google Cloud プロジェクトは、データ、コード、構成、サービスの仮想コンテナと考えることができます。

すべての Firebase プロジェクトについて、Firebase は、Google Cloud Console のプロジェクトの [ラベル] ページ内にfirebase:enabledのラベルを自動的に追加することに注意してください。このラベルの詳細については、 FAQをご覧ください。

Firebase プロジェクトGoogle Cloud プロジェクトであるため:

Firebase プロジェクトのセットアップとアプリの登録

Firebase プロジェクトを設定し、 Firebase コンソールでアプリを登録できます (高度なユースケースの場合は、 Firebase Management REST APIまたはFirebase CLIを使用します)。プロジェクトをセットアップしてアプリを登録するときは、いくつかの組織的な決定を行い、Firebase 固有の構成情報をローカル プロジェクトに追加する必要があります。

運用アプリの場合、通常は複数の環境を使用する明確な開発ワークフローを設定する必要があります。 Firebase プロジェクトを設定し、アプリを登録して開発ワークフローを作成するための一般的なベスト プラクティス一般的なセキュリティ ガイドラインなど、デベロッパー ワークフローに関するドキュメントを確認してください。

Firebase プロジェクトの操作

製品 SDK に加えて、いくつかの異なるツールとインターフェースを使用して、Firebase プロジェクトを直接操作できます。

Firebase コンソール

Firebase コンソールは、Firebase プロダクト、アプリ、およびプロジェクト レベルの設定を管理するための最も豊富な環境を提供します。

Firebase コンソール - プロジェクト概要画面

コンソールの左側のパネルには、最上位のカテゴリ別に整理された Firebase 製品が一覧表示されます。左側のパネルの上部で、[ ] をクリックしてプロジェクトの設定にアクセスします。プロジェクトの設定には、統合アクセス許可請求が含まれます。

コンソールの中央には、さまざまな種類のアプリを登録するためのセットアップ ワークフローを起動するボタンが表示されます。 Firebase の使用を開始すると、コンソールのメイン エリアがダッシュボードに変わり、使用している製品の統計が表示されます。

Firebase プロジェクトは Google Cloud プロジェクトでもあるため、さまざまなタスクやプロダクトで、Firebase コンソールではなく Google Cloud コンソールを使用する必要がある場合があります。

Firebase CLI(コマンドライン ツール)

Firebase は、Firebase Hosting、Cloud Functions for Firebase、Firebase Extensions など、特定の Firebase 製品を構成および管理するためのFirebase CLIも提供します。

CLI をインストールすると、グローバルfirebaseコマンドにアクセスできるようになります。 CLI を使用してローカル アプリ ディレクトリを Firebase プロジェクトにリンクし、 Firebase でホストされるコンテンツの新しいバージョンまたは関数の更新をデプロイします。

Firebase 管理 REST API

Firebase Management REST APIを使用すると、Firebase プロジェクトをプログラムで管理できます。たとえば、プログラムでアプリをプロジェクトに登録したり、既に登録されているアプリを一覧表示したりできます ( iOS+ | Android | web )。

Firebase プロジェクト識別子

Firebase プロジェクトは、プロジェクト名プロジェクト番号プロジェクト IDなどのさまざまな識別子を使用して、Firebase バックエンドとさまざまなデベロッパー インターフェースで識別できます。

プロジェクト名

プロジェクトを作成するときは、プロジェクト名を指定します。この識別子は、 Firebase コンソールGoogle Cloud Console 、およびFirebase CLIにおけるプロジェクトの内部専用の名前です。プロジェクト名は、公開されている Firebase または Google Cloud のプロダクト、サービス、またはリソースでは公開されません。複数のプロジェクトをより簡単に区別するのに役立つだけです。

プロジェクト名は、Firebase コンソールのプロジェクト設定でいつでも編集できます。プロジェクト名が上部ペインに表示されます。

プロジェクト番号

Firebase プロジェクト(および関連する Google Cloud プロジェクト)にはプロジェクト番号があります。これは、プロジェクトに対して Google が割り当てたグローバルに一意の正規識別子です。統合を構成したり、Firebase、Google、またはサードパーティ サービスへの API 呼び出しを行ったりするときに、この識別子を使用します。

プロジェクト番号は編集できません。プロジェクトを削除すると、プロジェクト番号も削除され、他のプロジェクトで再び使用することはできなくなります。

プロジェクト ID

Firebase プロジェクト(および関連する Google Cloud プロジェクト)にはプロジェクト IDがあります。これは、Firebase と Google Cloud 全体にわたるプロジェクトのユーザー定義の一意の識別子です。 Firebase プロジェクトを作成すると、Firebase はプロジェクトに一意の ID を自動的に割り当てますが、プロジェクトのセットアップ中に編集できます。この識別子は通常、プロジェクトを参照するための便利なエイリアスとして扱われるべきです。

Firebase 構成ファイルとオブジェクト

アプリを Firebase プロジェクトに登録すると、Firebase コンソールは、ローカル アプリ ディレクトリに直接追加する Firebase 構成ファイル (Apple/Android アプリ) または構成オブジェクト (ウェブ アプリ) を提供します。

  • Apple アプリの場合は、 GoogleService-Info.plist構成ファイルを追加します。
  • Android アプリの場合は、 google-services.json構成ファイルを追加します。
  • Web アプリの場合は、Firebase 構成オブジェクトを追加します。

アプリの Firebase 構成ファイルまたはオブジェクトはいつでも取得できます。

Firebase 構成ファイルまたはオブジェクトは、アプリを特定の Firebase プロジェクトとそのリソース (データベース、ストレージ バケットなど) に関連付けます。構成には「Firebase オプション」が含まれます。これは、Firebase および Google サービスが Firebase サーバー API と通信し、クライアント データを Firebase プロジェクトおよび Firebase アプリに関連付けるために必要なパラメーターです。必要最小限の「Firebase オプション」は次のとおりです。

  • API キー: プライベート ユーザー データにアクセスする必要のない特定の API を呼び出すときに使用される単純な暗号化文字列 (値の例: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • プロジェクト ID : Firebase と Google Cloud 全体にわたるプロジェクトのユーザー定義の一意の識別子。この識別子は、一部の Firebase リソースの URL または名前に表示される場合がありますが、通常はプロジェクトを参照するための便利なエイリアスとして扱う必要があります。 (値の例: myapp-project-123 )

  • アプリケーション ID (「AppID」) : プラットフォーム固有の形式を使用した、Firebase 全体での Firebase アプリの一意の識別子:

    • Firebase Apple アプリ: GOOGLE_APP_ID (値の例: 1:1234567890:ios:321abc456def7890 )
      これは Apple バンドル ID ではありません
    • Firebase Android アプリ: mobilesdk_app_id (値の例: 1:1234567890:android:321abc456def7890 )
      これは、Android パッケージ名または Android アプリケーション ID ではありません
    • Firebase Web アプリ: appId (値の例: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

アプリのプラットフォーム固有の ID (Apple バンドル ID または Android パッケージ名) や Firebase プロジェクト固有の値 (API キー、プロジェクト ID、Realtime Database URL、およびCloud Storage バケット名。これを踏まえて、 Firebase セキュリティ ルールを使用して、 Realtime DatabaseCloud Firestore 、およびCloud Storageのデータとファイルを保護します。

オープンソース プロジェクトの場合、通常、アプリの Firebase 構成ファイルまたはオブジェクトをソース管理に含めることはお勧めしません。ほとんどの場合、ユーザーは独自の Firebase プロジェクトを作成し、アプリを独自の Firebase リソースに向ける必要があるためです (独自の Firebase 構成を介して)。ファイルまたはオブジェクト)。

Firebase プロジェクト、アプリ、サイトの一般的な制限

Firebase プロジェクト、アプリ、サイトの一般的な制限は次のとおりです。

  • アカウントあたりのプロジェクト数

    • Spark 料金プラン — プロジェクト作成クォータは、より少ない数のプロジェクト (通常は 5 ~ 10 程度) に制限されます。
    • Blaze 料金プラン — 関連する Cloud 請求先アカウントが良好な状態にある限り、アカウントあたりのプロジェクト作成割り当てが大幅に増加します。

    ほとんどの開発者にとって、プロジェクト作成割り当ての制限が問題になることはめったにありませんが、必要に応じて、プロジェクト割り当ての増加をリクエストできます。

    プロジェクトを完全に削除するには 30 日かかり、プロジェクトが完全に削除されるまでプロジェクトの割り当てにカウントされることに注意してください。

  • プロジェクトあたりのアプリ数

    Firebase では、Firebase プロジェクト内の Firebase アプリの総数が 30 に制限されています。

    1 つの Firebase プロジェクト内のすべての Firebase アプリが、エンドユーザーの観点から同じアプリケーションのプラットフォーム バリアントであることを確認する必要があります。マルチテナンシーの詳細については、ベスト プラクティス ドキュメントをご覧ください。

    プロジェクトごとのアプリの制限について詳しくは、FAQ をご覧ください。

  • プロジェクトあたりのホスティング サイト数

    Firebase Hosting マルチサイト機能は、プロジェクトごとに最大 36 サイトをサポートします。

アプリの起動