このページでは、Firebase プロジェクトに関するいくつかの重要な概念の概要を簡単に説明します。リンクが利用可能な場合は、機能、サービス、ツール、およびベスト プラクティスに関する詳細情報を参照してください。
Firebase プロジェクト、アプリ、プロダクトの関係
Firebase プロジェクトは、Firebase の最上位エンティティです。プロジェクトでは、Apple、Android、または Web アプリを登録できます。アプリを Firebase に登録したら、Analytics、Cloud Firestore、Performance Monitoring、Remote Config など、任意の数のFirebase 製品に Firebase SDK を追加できます。
このプロセスの詳細については、お使いのプラットフォームの入門ガイドをご覧ください。
iOS+ |アンドロイド|ウェブ| ウェブ |団結| C++ |フラッター。
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 コンソール、 Google Cloud Console 、 Google API コンソールでプロジェクトを操作できます。
プロジェクトでは、Firebase と Google Cloud の両方のプロダクトと API を使用できます。
プロジェクトの一意の識別子(プロジェクト番号やプロジェクト IDなど)は、Firebase と Google Cloud で共有されます。
プロジェクトを削除すると、Firebase と Google Cloud 全体でプロジェクトが削除されます。
Firebase プロジェクトのセットアップとアプリの登録
Firebase プロジェクトを設定し、 Firebase コンソールでアプリを登録できます (高度なユースケースの場合は、 Firebase Management REST APIまたはFirebase CLIを使用します)。プロジェクトをセットアップしてアプリを登録するときは、いくつかの組織的な決定を行い、Firebase 固有の構成情報をローカル プロジェクトに追加する必要があります。
運用アプリの場合、通常は複数の環境を使用する明確な開発ワークフローを設定する必要があります。 Firebase プロジェクトを設定し、アプリを登録して開発ワークフローを作成するための一般的なベスト プラクティスや一般的なセキュリティ ガイドラインなど、デベロッパー ワークフローに関するドキュメントを確認してください。
Firebase プロジェクトの操作
製品 SDK に加えて、いくつかの異なるツールとインターフェースを使用して、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 呼び出しを行ったりするときに、この識別子を使用します。
プロジェクト番号は編集できません。プロジェクトを削除すると、プロジェクト番号も削除され、他のプロジェクトで再び使用することはできなくなります。
次のいずれかのオプションを使用して、Firebase プロジェクトのプロジェクト番号を見つけます。
Firebase コンソールを使用する: [ プロジェクト設定] をクリックします。プロジェクト番号が上部ペインに表示されます。
] [Firebase CLI の使用:
firebase projects:list
を実行します。プロジェクト番号は、アカウントに関連付けられているすべての Firebase プロジェクトとともに表示されます。Firebase Management REST API を使用する:
projects.list
呼び出します。応答本文には、FirebaseProject
オブジェクトのプロジェクト番号が含まれています。
多くの API 呼び出しでは、プロジェクトの一意の識別子を含める必要があります。多くの API はプロジェクト IDを受け入れますが、Firebase、Google、またはサードパーティ サービスへの API 呼び出しを行うには、プロジェクト番号を使用することをお勧めします。
Google のAIP 2510 標準でプロジェクト識別子、特にプロジェクト番号を使用する方法の詳細をご覧ください。
プロジェクト ID
Firebase プロジェクト(および関連する Google Cloud プロジェクト)にはプロジェクト IDがあります。これは、Firebase と Google Cloud 全体にわたるプロジェクトのユーザー定義の一意の識別子です。 Firebase プロジェクトを作成すると、Firebase はプロジェクトに一意の ID を自動的に割り当てますが、プロジェクトのセットアップ中に編集できます。この識別子は通常、プロジェクトを参照するための便利なエイリアスとして扱われるべきです。
次のいずれかのオプションを使用して、Firebase プロジェクトのプロジェクト IDを見つけます。
Firebase コンソールを使用する: [ プロジェクト設定] をクリックします。プロジェクト ID が上部ペインに表示されます。
] [Firebase CLI の使用:
firebase projects:list
を実行します。プロジェクト ID は、アカウントに関連付けられているすべての Firebase プロジェクトとともに表示されます。Firebase Management REST API を使用する:
projects.list
呼び出します。応答本文には、FirebaseProject
オブジェクトのプロジェクト ID が含まれています。
プロジェクト ID は、公開されている Firebase リソースに表示されます。次に例を示します。
- デフォルトのホスティング サブドメイン —
PROJECT_ID .web.app
およびPROJECT_ID .firebaseapp.com
- デフォルトの Realtime Database URL —
PROJECT_ID -default-rtdb.firebaseio.com
またはPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
- デフォルトの Cloud Storage バケット名 —
PROJECT_ID .appspot.com
前述のすべてのリソースについて、デフォルト以外のインスタンスを作成できます。非デフォルトの公に表示される名前は、完全にカスタマイズ可能です。カスタム ドメインを Firebase がホストするサイトに接続し、Realtime Databaseをシャーディングし、複数の Cloud Storage バケットを作成できます(プラットフォーム固有の [スタート ガイド] ページにアクセスしてください)。
ユースケースによっては、複数の Firebase プロジェクトが同じローカル アプリ ディレクトリに関連付けられている場合があります。このような状況でFirebase CLIを使用する場合は、 --project
フラグをfirebase
コマンドで渡して、対話する Firebase プロジェクトを伝える必要があります。
プロジェクト ID を覚える必要がないように、Firebase プロジェクトごとにプロジェクト エイリアスを設定することもできます。
多くの API 呼び出しでは、プロジェクトの一意の識別子を含める必要があります。多くの API はプロジェクト ID を受け入れますが、Firebase、Google、またはサードパーティ サービスへの API 呼び出しを行うには、プロジェクト番号を使用することをお勧めします。
Google のAIP 2510 標準でプロジェクト識別子、特にプロジェクト番号を使用する方法の詳細をご覧ください。
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
)
- Firebase Apple アプリ:
アプリのプラットフォーム固有の ID (Apple バンドル ID または Android パッケージ名) や Firebase プロジェクト固有の値 (API キー、プロジェクト ID、Realtime Database URL、およびCloud Storage バケット名。これを踏まえて、 Firebase セキュリティ ルールを使用して、 Realtime Database 、 Cloud 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 サイトをサポートします。
アプリの起動
- Google Cloud Console でプロジェクトの予算アラートを設定します。
- Firebase コンソールで使用状況と請求のダッシュボードを監視して、複数の Firebase サービスにわたるプロジェクトの使用状況の全体像を把握します。
- Firebase の起動チェックリストを確認します。