Firebase Extensions
Firebase Extensions を使用すると、あらかじめパッケージ化されたソリューションを使用して、アプリに機能をすばやくデプロイできます。
インストールされた Firebase 拡張機能は、HTTPS リクエスト、Cloud Scheduler イベント、または Cloud Firestore、Firebase Cloud Messaging など他の Firebase プロダクトからのイベントのトリガーに応じて、特定のタスクを実行できます。
主な機能
開発、メンテナンス、拡張にかかる時間を短縮 | 拡張機能はパッケージ化されたソリューションであるため、インストールして構成するだけです。 拡張機能を使用すると、アプリやプロジェクトの機能を実装したり、タスクを自動化したりするコードの調査、作成、デバッグに時間がかかりません。 公式 Firebase Extensions のコレクションを確認して、アプリまたはプロジェクトのソリューションを見つけてください。 |
構成可能で再利用可能なビルド | 拡張機能のインストールは、それぞれ固有のものとなります。 拡張機能に、アプリ、プロジェクト、ユースケースに固有の構成値を指定します。拡張機能の目的に応じて、Cloud Firestore のパス、画像のサイズ、GitHub の URL など、ほぼすべての値を指定できます。 同じ拡張機能を異なるプロジェクトで再利用できます。同じ拡張機能の複数のインスタンスを 1 つのプロジェクトにインストールすることもできます。インストールされた各インスタンスは、独自のカスタマイズされた構成を持つことができます。 |
Firebase プラットフォームを統合 | 拡張機能は、既存のアーキテクチャに不足している部分を埋めることができます。 拡張機能は、アプリですでに使用している Firebase プロダクトによって生成されたイベントに応答できます。ある Firebase プロダクトに変更を加えることで、拡張機能によるタスクの実行がトリガーされるようにできます。このタスクで別のプロダクトを使用することもできます。たとえば、特定の Realtime Database の書き込みによって、新しい Firebase Cloud Messaging 通知が送信されるようにできます。 Firebase プロジェクトを他の Google Cloud Platform プロダクト(BigQuery や Google 翻訳など)やサードパーティのサービス(Mailchimp や Bit.ly など)と統合することもできます。 トリガー イベントは Firebase イベントに限定されません。HTTPS リクエストで拡張機能を直接トリガーしたり、定期的にトリガーしたりすることもできます。 |
セキュリティと制限付きアクセス | 拡張機能のアプリケーション ロジックは、Google Cloud Functions を使用してバックエンドで実行されるため、コードはクライアントから完全に分離されます。 また、インストールされた拡張機能には、インストール前に明確にリストされたリソースとデータへの制限付きアクセスのみが付与されます。そのため、拡張機能は、プロジェクトの他の部分から分離されます。 |
メンテナンス不要 | Firebase プロジェクトの拡張機能をインストールして構成した後、バックエンドは拡張機能のニーズに合わせてコンピューティング リソースを自動的にスケーリングします。 認証情報、サーバー構成、新規サーバーのプロビジョニング、古いサーバーのデコミッションを気にする必要はありません。 |
仕組み
Firebase Extension とは、特に定義されているイベントがアプリまたはプロジェクトで発生したときに、タスクを実行するコードです。
拡張機能のロジックは、Cloud Functions for Firebase を使用して記述します。拡張機能の関数は、イベント プロバイダと、実行をトリガーする条件(Cloud Firestore の書き込み、HTTPS リクエスト、Cloud Scheduler イベントなど)を定義します。
拡張機能は関数を使用しますが、拡張機能は以下を明示的に定義する extension.yaml
仕様ファイルに依存する点が、関数と異なります。
拡張機能のインストール時に、Firebase は以下を行います。
- 必要な拡張機能の構成可能な値(パラメータ)を指定するよう要求します。
extension.yaml
ファイルにリストされている API を有効にします。- 新しいサービス アカウントを作成し、リストされているアクセスロールを割り当てます。拡張機能は、このサービス アカウントに付与されたアクセス権を使用してコードを実行します。
- リストされているリソースを拡張機能用にプロビジョニングします(関数など)。
拡張機能ディレクトリには、extension.yaml
ファイルに加えて、README
などの手順ファイルもあります。手順ファイルには、後で行う構成タスクに役立つ情報や、この拡張機能の一般的な使用方法が記述されています。
インストール後は、拡張機能を再構成(新しいパラメータ値を指定)することも、拡張機能を新しいバージョンに更新することもできます。また、拡張機能は、いつでもプロジェクトからアンインストールできます。
Firebase CLI と Firebase コンソールのどちらでも、拡張機能をインストール、表示、管理できます。
実装パス
拡張機能を見つける | 公式 Firebase Extensions のコレクションについては、Firebase Extensions のプロダクト ページをご覧ください。 |
|
拡張機能をインストールして構成する | アプリまたはプロジェクトのニーズを解決する拡張機能が見つかったら、Firebase コンソールまたは Firebase CLI を使用してインストールします。 拡張機能を構成して、アプリやプロジェクトに合わせてカスタマイズします。 |
|
拡張機能を管理する | 拡張機能の表示と管理は、Firebase コンソールまたは Firebase CLI で行います。 |
次のステップ
公式 Firebase Extensions のコレクションについては、Firebase Extensions のプロダクト ページをご覧ください。
Firebase コンソールまたは Firebase CLI を使用して、プロジェクトに拡張機能をインストールします。