Google AI Studio のビルドモードでは、Cloud Firestore と Firebase Authentication をウェブアプリに自動的に設定して統合できるため、永続的なデータ ストレージと安全なログインフローを備えたアプリを簡単に構築できます。1 つのプロンプトと数回のクリックだけで、Google AI Studio エージェントに Firebase プロジェクトの設定、アプリと当該プロジェクトの連携を任せ、Cloud Firestore コードと Authentication コードをすべてアプリ内で直接生成させることができます。
概要: Google AI Studio アプリにバックエンドを追加する
アイデアを説明する: Google AI Studio で新しいアプリを作成し、データベースまたは認証を必要とする機能について説明します。たとえば、次のようなプロンプトを入力できます。
Build a shared to-do list app using Firebase as a backend.Firebase インテグレーションを有効にする: エージェントから求められた場合は、Firebase を有効にして、プロジェクトのロケーションを選択し、Firebase の利用規約に同意します。エージェントは、自動的にアプリを Firebase プロジェクトに接続し、アプリに必要な Cloud Firestore コードと Authentication コード(
/src/lib/firebase.tsファイルやfirestore.rulesファイルなど)を生成します。デプロイ: 準備ができたら、[共有] > [公開] オプションを使用して、ウェブアプリを Cloud Run にデプロイします。
Cloud Firestore の共有割り当てについて
Google AI Studio エージェントによってプロビジョニングされたすべての Cloud Firestore データベースは、Firebase プロジェクト内の同一データベース「グループ」に配置されます。以下の特性は、これらのデータベースすべてに共通しています。
- 共有割り当て: グループ内のすべてのデータベースが使用量割り当てを共有します(詳細は下記を参照)。
- Cloud Billing アカウントは不要: 請求先を追加せずにアプリをビルドしてテストできます。請求先の追加は任意です。詳しくは、以下をご覧ください。
- 毎日のリセット: 1 日の割り当て上限(1 日あたり 5 万回の読み取りなど)に達すると、グループ内のすべてのデータベースでサービスが一時停止し、翌日の午前 0 時頃(太平洋時間)に再開されます。
| 指標 | Quota |
|---|---|
| 保存データ | 合計 1 GiB |
| 下り(外向き)ネットワーク | 10 GiB/月 |
| ユニットの書き込み | 1 日あたり 40,000 回の書き込み数 |
| ユニットの読み取り | 1 日あたり 50,000 回の読み取り数 |
| リアルタイム アップデート ユニット | 1 日あたり 50,000 回の更新 |
(省略可)請求先を追加して Cloud Firestore 割り当てを増やす
アプリが普及し、Cloud Firestore の無料枠を超える必要がある場合は、プロジェクトを従量課金制の Blaze のお支払いプランにアップグレードできます。
請求先を追加する(まだ追加していない場合): Firebase コンソールに移動し、請求先アカウントをプロジェクトにリンクします。
データベースをアップグレードする: デフォルトでは、Google AI Studio エージェントによって作成された Cloud Firestore データベースは、お支払いプランをアップグレードした後も共有割り当てを引き続き使用します。特定のデータベースで完全な有料スケーリングを有効にするには、
curlコマンドを使用して、当該データベースを手動でグループから移動させる必要があります。PROJECT_ID : Firebase プロジェクト ID。この ID は、Firebase コンソールの [プロジェクト設定] で確認できます。
DATABASE_ID : Cloud Firestore データベース ID。アプレット ID と一致します。このデータベース ID は、Firebase コンソールの Cloud Firestore データベース ページの [名前] 列で確認できます。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \ -d '{"free_tier_limited": false}'
Security Rules 生成
Google AI Studio エージェントは、アプリのロジックに基づいて Firebase Security Rules を自動的に生成します。これらの Security Rules は「デフォルトで拒否」となるように設計されており、アプリのエンドユーザーは、自分が所有するデータにのみアクセスできます。
Firebase コンソールで Security Rules を手動で直接調整した場合、Google AI Studio エージェントはその変更を認識しないため、後続のアプリのイテレーションで上書きされてしまいます。変更内容を保持し、アプリのロジックと整合するようにするため、Google AI Studio エージェントを使用して Firebase Security Rules を調整することをおすすめします。
既存のプロジェクトを使用する
また、Google AI Studio エージェントに、所有している既存の Google Cloud プロジェクトに Cloud Firestore をプロビジョニングするよう依頼することもできます。以下のようなプロンプトを使用して、既存のプロジェクトを使用するようにエージェントに指示します。
Add Firestore to this app using project PROJECT_ID.
- 共有割り当てを使用して、新しい Cloud Firestore データベースがそのプロジェクトにプロビジョニングされます。
- Firebase Authentication と Google ログインが構成されます。
- サービス アカウントに Cloud Firestore データベースへのアクセス権が付与されます。Google AI Studio から管理者アクセスを許可するため、
ais-sandbox@PROJECT_ID.iam.gservice.comという名前の新しいサービス アカウントに Cloud Firestore データベースへのアクセス権が付与されます。このアカウントは Google AI Studio アプリにのみ関連付けられます。 - 制限事項: Firebase プロジェクトに Cloud Firestore データベースがすでに存在する場合、エージェントはデータベースをさらに追加することができません。使用するには、新しい空のプロジェクトを作成する必要があります。
Firebase コンソールの使用
アプリのデータと設定は Firebase コンソールで確認できます。Google AI Studio に関連付けられているプロジェクトにアクセスする手順は以下のとおりです。
Firebase コンソールに移動し、[AI Studio] というラベルの付いたプロジェクトを選択します。
左側のナビゲーション パネルで、[ビルド] > [Cloud Firestore データベース] をクリックして Cloud Firestore のデータを表示、編集するか、[ビルド] > [Authentication] をクリックして Authentication の設定とデータを構成します。
トラブルシューティングとよくある質問
Firebase を Google AI Studio アプリに統合する際に発生する一般的な質問への回答と、問題の解決方法について説明します。
Google Cloud / Firebase プロジェクトが選択される仕組みはどうなっていますか?
「Firebase バックエンドの追加」機能を使用すると、Google AI Studio エージェントが、アプリのバックエンド サービス(Cloud Firestore と Firebase Authentication)に使用する Firebase プロジェクトを自動的に選択します。
特定のプロジェクトを使用したい場合は、以下のようなプロンプトを使用してエージェントに指示できます。
Use project PROJECT_ID for the Firebase backend.
後でアプリを Cloud Run に公開する場合は、この同じプロジェクトを引き続き使用することが重要です。別のプロジェクトを選択すると、バックエンドで使用されているプロジェクトと一致しないため、エラーが発生します。
どのような認証方法がサポートされていますか?
「Firebase バックエンドの追加」機能を使用すると、Google AI Studio エージェントは Google ログインを設定します。その他の認証方法を設定するには、Firebase コンソールでその方法を有効にし、Google AI Studio エージェントにコードベースの更新を依頼します。
Google AI Studio を使ってモバイルアプリ(Android や iOS など)を作成できますか?
現在、Google AI Studio エージェントはウェブアプリのみを作成できます。サポートされている機能について詳しくは、Google AI Studio エージェントのドキュメントをご覧ください。
ただし、すべてのウェブアプリと同様に、Google AI Studio で作成されたアプリには、モバイル デバイスにインストールされているブラウザからモバイルウェブ アプリとしてアクセスできます。
firebase-blueprint.json ファイルとは何ですか?
Google AI Studio エージェントがアプリのコードベースを理解するために使用する中間ファイルです。このファイルを手動で変更しないでください。エージェントが正しくないコードや安全でない Security Rules を生成するおそれがあります。
「割り当てを超過しました」というエラーが表示された場合はどうすればよいですか?
Cloud Firestore の割り当て上限に達したということは、アプリが Cloud Firestore データベースの共有割り当てグループにおける 1 日あたりの使用量の上限に達したことを意味します。この問題を解決するには、以下の 2 つの方法があります。
- オプション 1: 待つ: 割り当ては、午前 0 時頃(太平洋時間)に毎日リセットされます。
- オプション 2: アップグレードする: 従量課金制の Blaze のお支払いプランにアップグレードします。
- Google AI Studio エージェントが Cloud Firestore を設定した場合は、請求先を追加して Cloud Firestore の割り当てを増やすで説明されている
curlコマンドを使用して、データベースを通常の有料状態に移行する必要があります。Cloud Firestore を手動で設定した場合は、curlコマンドを実行する必要はありません。
- Google AI Studio エージェントが Cloud Firestore を設定した場合は、請求先を追加して Cloud Firestore の割り当てを増やすで説明されている
「権限がないか、権限が十分でありません」というエラーが表示された場合はどうすればよいですか?
このエラーは、アプリが Cloud Firestore データベースへのデータの読み取りまたは書き込みを試みたものの、そのリクエストが Security Rules によって拒否された場合に発生します。これは、現在の認証状態またはデータパスに基づいて、Security Rules が試行されたオペレーションを許可していないことを示します。[エラーを修正] ボタンをクリックして、Google AI Studio エージェントに Security Rules の修正を試行するよう指示します。
Google AI Studio アプリを削除すると、Firebase バックエンドはどうなりますか?
Google AI Studio でアプリケーションを削除しても、接続されている Firebase プロジェクト、Cloud Firestore データベース、Firebase Authentication 構成は自動的に削除されません。
Firebase バックエンドを追加した場合は、Firebase コンソールに手動で移動し、プロジェクトを削除するか、個々のリソース(Cloud Firestore データベース インスタンスや Authentication プロバイダなど)をクリーンアップして、すべてのデータと構成が削除されるようにする必要があります。
Google AI Studio エージェントは Cloud Firestore データベース内のデータを削除または編集できますか?
Google AI Studio エージェントは、必要なバックエンド リソースのプロビジョニングと、コードや Security Rules の生成を支援するように設計されています。エージェント自体は Cloud Firestore データベース内のデータエントリを直接削除、編集、操作することはできませんが、これらのアクションを実行するように設計されたコードをアプレットに書き込むことはできます。エントリの削除などのデータ マネジメント タスクを行うには、Firebase コンソールの Cloud Firestore データベース ページに移動します。
Google Cloud を使用している組織に所属しています。Google AI Studio アプリを組織の Google Cloud 環境内の既存のプロジェクトに接続できますか?
Firebase プロジェクトが特定の Google Cloud 組織フォルダ内に配置されていることを確認します。
事前に Firebase プロジェクトを手動で作成します。
Google AI Studio で Firebase バックエンドを設定するときに、既存のプロジェクトを使用するようにエージェントに指示します。
Add Firestore to this app using project PROJECT_ID.
Firebase コンソールで特定のドキュメントが見つからないのはなぜですか?
AI Studio エージェントが親ドキュメント(user1)を最初に作成せずにネストされたパス(/users/user1/messages/msg1 など)にデータを保存すると、「存在しない親ドキュメント」が作成されます。これらのドキュメントは Firebase コンソールに表示されないため、Cloud Firestore データベースを閲覧する際に見つけにくい場合があります。これはアプリの実行には影響しませんが、多くの場合、AI Studio エージェントに問題を説明して、欠落している親ドキュメントを作成させることができます。
詳細については、親ドキュメントが存在しない場合をご覧ください。
Google は Google AI Studio で私のデータ(コードやプロンプトなど)をどのように使用しますか?
データの使用方法の詳細については、Gemini API 追加利用規約をご覧ください。
Google Cloud から「Google Cloud プロジェクトの一般公開されている Google API キー」に関するメールが届きました。必要なご対応
Google Cloud から「Google Cloud プロジェクトの一般公開されている Google API キー」に関するメールが届き、メールに記載されている API キーが Firebase API キーである場合は、コードまたは構成ファイルに安全に含めることができるように、API キーが次の要件を満たしていることを確認してください。Google Cloud コンソールの [API とサービス] > [認証情報] パネルで、次のことを確認できます。
-
Firebase アプリと Firebase サービスにのみ使用する API キーであること。これらのキーは通常、
Browser key (auto created by Firebase)、Android key (auto created by Firebase)、iOS key (auto created by Firebase)と呼ばれます。 - 必要な Firebase 関連の API がすべて、キーの「API の制限」許可リストに含まれていること。
-
「API の制限」許可リストに他の API が含まれていないこと。特に、リストに
Generative Language APIが含まれていないようにする必要があります。
また、使用する Firebase プロダクトで推奨されている Firebase Security Rulesと App Check を使用していることを確認してください。
Firebase の API キーの詳細とよくある質問の一覧については、Firebase の API キーの使用と管理について学ぶをご覧ください。