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

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

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

Firebaseプロジェクト、アプリ、製品間の関係

Firebaseプロジェクトは、Firebaseの最上位のエンティティです。プロジェクトでは、Apple、Android、またはWebアプリを登録できます。アプリをFirebaseに登録した後、アナリティクス、クラウドFirestore、パフォーマンスモニタリング、リモート構成など、任意の数のFirebase製品にFirebaseSDKを追加できます。

このプロセスの詳細については、プラットフォームのスタートガイドをご覧ください。
iOS + | Android |ウェブ| Unity | C ++ |フラッター

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

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

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

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

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

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

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

FirebaseプロジェクトとGoogleCloudの関係

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

FirebaseプロジェクトGoogleCloudプロジェクトであるため、次のようになります。

  • FirebaseコンソールGoogle Cloudコンソール、GoogleAPIコンソールでプロジェクトを操作できます

  • プロジェクトでは、FirebaseとGoogleCloudの両方の製品とAPIを使用できます。

  • プロジェクトの請求権限は、FirebaseとGoogleCloudで共有されます。

  • プロジェクトの一意の識別子(プロジェクト番号プロジェクトIDなど)は、FirebaseとGoogleCloudで共有されます。

  • プロジェクトを削除すると、FirebaseとGoogleCloud全体でプロジェクトが削除されます。

Firebaseプロジェクトの設定とアプリの登録

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

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

Firebaseプロジェクトとのやり取り

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

Firebaseコンソール

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

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

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

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

FirebaseプロジェクトはGoogleCloudプロジェクトでもあるため、さまざまなタスクや製品で、Firebaseコンソールの代わりにGoogleCloudConsoleを使用する必要がある場合があることに注意してください。

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

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

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

Firebase Management REST API

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

Firebaseプロジェクト識別子

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

プロジェクト名

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

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

プロジェクト番号

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

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

プロジェクトID

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

Firebaseの設定ファイルとオブジェクト

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

  • 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とGoogleCloud全体にわたるプロジェクトのユーザー定義の一意の識別子。この識別子は、一部の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パッケージ名)や、APIキー、プロジェクトID、リアルタイムデータベースURLなどのFirebaseプロジェクト固有の値など、Firebase構成ファイルまたはオブジェクトのコンテンツは公開されていると見なされます。 CloudStorageバケット名。これを前提として、 Firebase Security Rulesを使用して、 Realtime DatabaseCloud Firestore 、およびCloudStorageのデータとファイルを保護します。

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

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

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

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

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

    プロジェクト作成クォータの制限がほとんどの開発者にとって懸念されることはめったにありませんが、必要に応じて、プロジェクトクォータの増加をリクエストできます。

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

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

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

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

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

  • プロジェクトごとのホスティングサイトの数

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

アプリを起動する