Firebase 拡張機能
Firebase Extensions は、事前にパッケージ化されたソリューションを使用してアプリに機能をすばやくデプロイするのに役立ちます。
Firebase 拡張機能をインストールすると、HTTPS リクエスト、Cloud Scheduler イベント、または Cloud Firestore や Firebase Cloud Messaging などの他の Firebase 製品からのトリガー イベントに応答して、特定のタスクまたは一連のタスクを実行します。
主な機能
開発、メンテナンス、成長に費やす時間を削減 | 拡張機能はパッケージ化されたソリューションであるため、拡張機能をインストールして構成するだけです。 拡張機能を使用すると、機能を実装したり、アプリやプロジェクトのタスクを自動化したりするコードの調査、作成、およびデバッグに時間を費やす必要がなくなります。 Extensions Marketplaceを調べて、アプリやプロジェクトのソリューションを見つけてください。 |
構成可能で再利用可能なように構築 | 拡張機能のインストールされた各インスタンスは一意です。 アプリ、プロジェクト、またはユース ケースに固有の拡張機能の構成値を指定します。拡張機能の機能に応じて、これらの値は、Cloud Firestore のパス、画像のサイズ、GitHub の URL など、ほとんど何でもかまいません。 異なるプロジェクトで同じ拡張機能を再利用できます。 1 つのプロジェクトに同じ拡張機能の複数のインスタンスをインストールすることもできます。インストールされた各インスタンスは、独自のカスタマイズされた構成を持つことができます。 |
Firebase プラットフォームを統合 | 拡張機能は、既存のアーキテクチャの欠けている部分を埋めることができます。 拡張機能は、アプリで既に使用している Firebase プロダクトによって生成されたイベントに応答できます。 1 つの Firebase プロダクトの変更により、拡張機能がそのタスクを実行するようにトリガーされる可能性があります。別のプロダクトを使用するタスクであっても同様です。たとえば、特定の Realtime Database 書き込みによって、新しい Firebase Cloud Messaging 通知の送信をトリガーできます。 拡張機能は、Firebase プロジェクトを他の Google Cloud Platform 製品 (BigQuery や Google Translate など) やサードパーティ サービス (Mailchimp や Bit.ly など) と統合することもできます。 また、トリガー イベントは Firebase イベントに限定されません。 HTTPS リクエストを使用して、またはスケジュールされた間隔で拡張機能を直接トリガーすることもできます。 |
セキュリティとアクセス制限 | 拡張機能のアプリケーション ロジックは、Google Cloud Functions を使用してバックエンドで実行されるため、コードはクライアントから完全に分離されます。 また、インストールされた拡張機能には、インストール前に明確にリストされたリソースとデータのみへの制限付きアクセスが許可されるため、拡張機能自体はプロジェクトの残りの部分から分離されます。 |
メンテナンス不要 | Firebase プロジェクトの拡張機能をインストールして構成します。その後、バックエンドは拡張機能のニーズに合わせてコンピューティング リソースを自動的にスケールアップおよびスケールダウンします。 資格情報、サーバー構成、新しいサーバーのプロビジョニング、または古いサーバーの廃止について心配する必要はありません。 |
それはどのように機能しますか?
基本的に、Firebase 拡張機能は、アプリまたはプロジェクトで特別に定義されたイベントが発生するたびにタスクを実行するコードです。
拡張機能のロジックは、 Cloud Functions for Firebaseを使用して記述されています。拡張機能の関数は、イベント プロバイダと、実行をトリガーする条件 (Cloud Firestore 書き込み、HTTPS リクエスト、Cloud Scheduler イベントなど) を定義します。
拡張機能は関数を使用しますが、拡張機能と関数を区別する重要な機能は、拡張機能がextension.yaml
仕様ファイルに依存していることです。このファイルでは、以下が明示的に定義されています。
インストールされた各インスタンスが異なる構成を持つように、拡張機能をプロジェクトに複数回インストールできます。
拡張機能のインスタンスをインストールすると、Firebase は次のことを行います。
- 拡張機能のこのインスタンスに使用する必要な構成値 (パラメーター) を指定するように求められます。
- プロジェクトの
extension.yaml
ファイルからリストされた API を有効にします。 - 拡張機能のこのインスタンスで使用される新しいサービス アカウントを作成し、リストされたアクセス ロールを割り当てます。拡張インスタンスは、このサービス アカウントに付与されたアクセスを使用してコードを実行します。
- リストされたリソースを拡張インスタンス (関数など) にプロビジョニングします。
インストールされた拡張機能の各インスタンスには、独自のサービス アカウントと個別にプロビジョニングされたリソースがあることに注意してください。
拡張機能ディレクトリには、 extension.yaml
ファイルに加えて、 README
などの説明ファイルも含まれています。これらのファイルには、追加の構成タスクを完了したり、一般的に拡張機能を使用したりするのに役立つ情報が含まれています。
インストール後、拡張機能を再構成(新しいパラメーター値を指定) したり、拡張機能を新しいバージョンに更新したりできます。プロジェクトから拡張機能をいつでもアンインストールすることもできます。
Firebase CLI と Firebase コンソールの両方を使用して、拡張機能をインストール、表示、および管理できます。
実装パス
拡張機能を探す | Extensions Marketplaceで利用可能な拡張機能を調べてください。 | |
拡張機能の評価、インストール、構成 | アプリまたはプロジェクトのニーズを解決する拡張機能が見つかったら、拡張機能エミュレーターで拡張機能を評価し、 Firebase コンソールまたはFirebase CLIを介して拡張機能をインストールできます。 アプリまたはプロジェクト用にカスタマイズされるように拡張機能を構成します。 | |
拡張機能を管理する | Firebase コンソールまたはFirebase CLIを使用して、インストールされている拡張機能を表示および管理します。 |
次のステップ
拡張機能マーケットプレイスを探索します。
Firebase コンソールまたはFirebase CLIを使用して、プロジェクトに拡張機能をインストールします。