Google AI Studio アプリに Cloud Firestore と Authentication を追加する

Google AI StudioCloud Firestore および Firebase Authentication と直接統合されるため、永続データと安全なログインフローを使用してアプリケーションを構築できます。Google AI Studio で [Firebase バックエンドを追加] 機能を使用すると、エージェントが必要なコードを生成し、アプリを Firebase プロジェクトに接続します。

概要: Google AI Studio アプリにバックエンドを追加する

  1. アイデアを説明する: Google AI Studio で新しいアプリを作成し、データベースまたは認証を必要とする機能(「共有の ToDo リストを作成する」など)を説明します。

  2. Firebase 統合を有効にする: [Firebase バックエンドを追加] チップを選択します。エージェントは、/src/lib/firebase.ts ファイルや firestore.rules ファイルなど、必要なコードを生成し、アプリを Cloud FirestoreFirebase Authentication に接続します。

  3. デプロイ: 準備ができたら、[共有] > [公開] オプションを使用して、アプリを Cloud Run にデプロイします。

Cloud Firestore の共有割り当てについて

Google AI Studio のエージェントによってプロビジョニングされたすべての Cloud Firestore データベースは、Firebase プロジェクト内の同じデータベース「グループ」に配置されます。これらの特性はすべてに共通しています。

  • 共有割り当て: グループ内のすべてのデータベースが使用量割り当てを共有します(詳細は下記を参照)。
  • Cloud Billing アカウントは不要: 請求情報を追加せずにアプリをビルドしてテストできます。課金の追加は任意です。詳しくは、以下をご覧ください。
  • 毎日のリセット: 1 日の割り当て上限(1 日あたり 5 万回の読み取りなど)に達すると、グループ内のすべてのデータベースでサービスが一時停止し、翌日の午前 0 時(太平洋時間)頃に再開されます。

共有割り当てグループの Cloud Firestore データベースは、次の上限を共有します。

指標 割り当て
保存データ 合計 1 GiB
下り(外向き)ネットワーク 10 GiB/月
ユニットの書き込み 1 日あたり 40,000 回の書き込み
ユニットの読み取り 1 日あたり 50,000 回の読み取り
リアルタイム アップデート ユニット 1 日あたり 50,000 回の更新

(省略可)課金を追加して Cloud Firestore 割り当てを増やす

アプリが普及し、Cloud Firestore の無料枠を超える必要がある場合は、プロジェクトを従量課金制の Blaze 料金プランにアップグレードできます。

  1. 課金を追加する(まだ追加していない場合): Firebase コンソールに移動し、請求先アカウントをプロジェクトにリンクします。
  2. データベースをアップグレードする: デフォルトでは、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=limited_free_tier" \
    -d '{"limited_free_tier": 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 に関連付けられているプロジェクトにアクセスする手順は次のとおりです。

  1. Firebase コンソールに移動し、[AI Studio] というラベルの付いたプロジェクトを選択します。
  2. 左側のナビゲーション パネルで、[ビルド] > [Cloud Firestore データベース] をクリックして Cloud Firestore のデータを表示、編集するか、[ビルド] > [Authentication] をクリックして Authentication の設定とデータを構成します。

トラブルシューティングとよくある質問

Firebase を Google AI Studio アプリに統合する際に発生する一般的な質問とその回答と、問題の解決方法について説明します。

サポートされている認証方法は何ですか?

Google AI Studio エージェントは、[Firebase バックエンドを追加] 機能を使用すると、Google ログインを設定します。追加の方法を設定するには、Firebase コンソールでそれらを有効にし、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 コマンドを実行する必要はありません。

「権限がないか、権限が十分でありません」というエラーが表示された場合はどうすればよいですか?

このエラーは、アプリが 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 組織フォルダ内に配置されていることを確認します。

  1. Firebase プロジェクトを手動で事前に作成します。
  2. 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 エージェントに問題を説明して、欠落している親ドキュメントの作成を促すことができます。

詳細については、存在しない親ドキュメントをご覧ください。

Cloud Firestore データベースのロケーションはどのように選択されますか?

現在、Cloud Firestore データベースのロケーションはユーザーのロケーションに基づいて自動的に選択され、変更や手動指定はできません。特定の場所を選択する機能をご希望の場合は、Google AI Studio の [設定] > [フィードバックを送信] からお知らせください。

Google は Google AI Studio でユーザーのデータ(コードやプロンプトなど)をどのように使用しますか?

データの使用方法の詳細については、Gemini API 追加利用規約をご覧ください。