將 Firebase 新增至 Google AI Studio 應用程式

Google AI Studio 中的「Build mode」(建構模式) 可自動設定 Firebase 服務,並整合至網頁和 Android 應用程式:

  • Cloud Firestore 和 Firebase Authentication (適用於網頁和 Android 應用程式),建構具有持續性資料儲存庫和安全登入流程的應用程式。
  • Firebase AI Logic 和 Firebase App Check (適用於 Android 應用程式),可直接從行動應用程式安全呼叫 Gemini 模型,不必公開 API 金鑰。

只要輸入單一提示並按幾下滑鼠,Google AI Studio 代理程式就能設定 Firebase 專案、將應用程式連結至該專案,並直接在應用程式中產生必要的 Firebase 程式碼和設定檔。

如要進一步瞭解如何在 Google AI Studio 建構全端網頁應用程式和 Android 應用程式,請參閱說明文件。

總覽:在 Google AI Studio 應用程式中新增後端

  1. 描述構想:在 Google AI Studio 中建立新應用程式,並描述需要資料庫、驗證或生成式 AI (適用於 Android 應用程式) 的功能。舉例來說,你可以輸入類似以下的提示:

    • Build a shared to-do list app using Firebase as a backend.
    • Build an Android recipe app that uses Firebase AI Logic to suggest meals from ingredients.
  2. 啟用 Firebase 整合:在顯示的資訊卡中,進行設定:

    1. 自訂專案或位置 (選用):按一下「Settings」(設定) 圖示 ,然後選取位置或要使用的 Google Cloud 專案。

    2. 確認所選項目:如要繼續,請按一下「Enable Firebase」(啟用 Firebase) 按鈕。

    接著,代理程式會在 Firebase 專案中自動設定適用的 Firebase 服務,將應用程式連結至 Firebase 專案,並產生適用的 Firebase 程式碼和設定檔:

    • 網頁應用程式:

      • 可能提供的服務:Cloud Firestore、Authentication和 Firebase Security Rules
      • 檔案包括 /src/lib/firebase.ts 和 firestore.rules
    • Android 應用程式:

      • 可能包括:Cloud Firestore、Authentication 和 Firebase Security Rules;如果應用程式使用 AI 功能,則可能包括:Firebase AI Logic 和 Firebase App Check
      • 檔案包括 google-services.json、firestore.rules 和 firebase_applet_config.xml
  3. 部署或發布:準備就緒後,即可部署或發布應用程式:

    • 網頁應用程式:使用「分享」>「發布」選項,將網頁應用程式部署至 Cloud Run。應用程式會自動部署到您在設定期間選取的專案。
    • Android 應用程式:透過 USB 在實體裝置上安裝應用程式,進行本機測試,或發布至 Google Play,供特定測試人員進行內部測試。

    分享、部署或發布應用程式前,請務必檢查 AI 生成的 Firebase Security Rules。

在開發期間將 Firebase 新增至應用程式

如要將 Firebase 整合功能新增至您在 Google AI Studio 中開發的應用程式,隨時可在疊代階段使用下列任一選項:

  • 與代理對話:指示代理新增需要資料庫、驗證或 Android 生成式 AI 的功能 (例如 Add a Firestore database to this app 或 Add Firebase AI Logic to summarize notes)。
  • 使用設定選單:依序前往「設定」 >「整合」,然後按一下「Firebase Firestore & Auth」圖塊。

這兩個選項都會啟動 Firebase 整合設定流程,讓您選取專案、設定後端位置,並為應用程式啟用整合功能,如總覽所述。

啟用整合功能後,您隨時可以前往「Settings」(設定) >「Integrations」(整合),然後點選「Firebase Firestore & Auth」圖塊,查看相關設定,包括專案、位置、應用程式支援電子郵件和資料庫 ID。

瞭解「Cloud Firestore」的共用配額

資料庫的代管位置取決於應用程式的建立時間、帳戶資格和平台 (Android 應用程式不適用於入門級方案),可能是 Google Cloud 入門級方案專案或標準專案。不過,無論是哪種情況,由 Google AI Studio 代理佈建的所有 Cloud Firestore 資料庫,都會放在專案中同一個「AI 共用配額」資料庫群組。這些應用程式都具有下列特徵:

  • 共用配額:群組中的所有資料庫共用用量配額 (詳情請見下文)。
  • 不需 Cloud Billing 帳戶:您不需新增帳單資訊,即可建構及測試應用程式。如要瞭解如何選擇性新增帳單資訊,請參閱下方詳細資料。
  • 每日重設:如果達到每日配額上限 (例如每天 5 萬次讀取),服務會暫停群組內所有資料庫,並在隔天太平洋時間午夜左右恢復。

共用配額群組中的 Cloud Firestore 資料庫共用下列限制:

指標 配額
儲存的資料量 總共 1 GiB
網路輸出 每月 10 GiB
寫入單位 每天 40,000 次寫入
讀取單位 每天 50,000 次讀取
即時更新單元 每天 50,000 次更新

(選用) 新增帳單資訊,取得更多 Cloud Firestore 配額

如果應用程式越來越受歡迎,需要超出 Cloud Firestore 的免付費限制,可以新增帳單資訊,將 Firebase 專案升級至即付即用 Blaze 定價方案。

您可能已基於不同原因 (例如使用 Nano Banana) 為專案新增帳單資訊。如果是這種情況,表示專案已採用 Blaze 定價方案,您可以直接跳到升級資料庫步驟。

步驟 1:新增帳單資訊 (如果尚未新增)

您可以直接在 Google AI Studio 中設定帳單資訊。

  1. 在 Google AI Studio 中,前往「 專案」頁面。
  2. 找到要升級的專案,然後按一下旁邊的「設定帳單資訊」。
  3. 按照畫面上的指示選取國家/地區、同意條款,然後新增付款方式或選取現有的帳單帳戶。系統也可能會要求您預付款項 (這筆款項不會用於支付 Firebase 和 Google Cloud 服務的用量費用)。

步驟 2:升級資料庫

即使新增帳單,Cloud Firestore 代理程式建立的資料庫仍會保留在共用配額群組中。Google AI Studio如要為特定資料庫啟用完整的付費擴充功能,必須手動升級。

  1. 前往 Firebase 控制台,然後選取包含要升級資料庫的專案。
  2. 在左側導覽窗格中,依序前往「資料庫和儲存空間」>「Firestore」。
  3. 如果專案包含多個 Cloud Firestore 資料庫執行個體,請選取要升級的執行個體。
  4. 在頁面頂端附近,尋找指出資料庫設有 AI 共用配額上限的橫幅。如要升級,請依序點按「升級資料庫」>「升級至即付即用方案」。如果沒有看到這個橫幅,表示資料庫不是由 Google AI Studio 代理程式建立,且不屬於共用配額群組,或是已升級。

停用共用配額並啟用資料庫即付即用計費模式的變更,應該會在幾分鐘內生效。

Security Rules 項生成作業

Google AI Studio 代理會根據應用程式的邏輯自動產生 Firebase Security Rules。這些 Security Rules 的設計宗旨是「預設拒絕」,也就是說,應用程式的終端使用者只能存取自己的資料。

請注意,如果您直接在Firebase管理中心手動調整 Security Rules,Google AI Studio 代理程式不會知道這些變更,且這些變更會在後續的應用程式疊代中遭到覆寫。建議您使用 Google AI Studio 代理程式調整 Firebase Security Rules,確保變更內容能保留下來,並與應用程式的邏輯一致。

Firebase AI Logic 和 App Check,適用於 Android 應用程式

在 Google AI Studio 中建構包含生成式 AI 功能的 Android 應用程式時,代理程式會自動整合 Firebase AI Logic 並強制執行 Firebase App Check。

Google AI Studio 中的網頁應用程式是從 Cloud Run 的伺服器端執行階段執行 Gemini API 呼叫,而 Android 應用程式則是以用戶端二進位檔 (APK) 的形式發布。如果直接將原始 Gemini API 金鑰嵌入 APK,金鑰可能會遭到擷取,並可能導致帳單濫用。搭配使用 Firebase AI Logic 和 App Check,可驗證對 Gemini API 的要求是否來自應用程式的真實執行個體,進而保護專案。

App Check 在測試和正式環境中的運作方式

Google AI Studio 會設定 App Check,讓應用程式安全運作,無須手動設定,無論您是測試原型或發布至 Google Play,都適用這項功能。

  • 測試及分享 (偵錯版本):在 Google AI Studio 模擬器中預覽應用程式、透過 USB 將應用程式安裝到手機,或在 Google AI Studio 中與早鳥測試者分享應用程式時,應用程式會使用 App Check 偵錯權杖,由 Google AI Studio 在背景自動管理。協作者可以立即測試 AI 功能,不必查看 API 金鑰或密鑰。
  • 發布至 Google Play (發布子版本):為 Google Play 建構發布版本時,應用程式會自動切換至 reCAPTCHA Enterprise,使用預先設定的網站金鑰進行正式版認證。發布前,您不必手動連結 Google Play 或設定 App Check 供應商。

使用現有專案

首次啟用 Firebase 整合功能時,您可以選擇現有的 Google Cloud 專案 (您必須是專案擁有者):

  1. 在彈出的資訊卡中,按一下「Settings」(設定) 圖示 。
  2. 選取專案,然後按一下「啟用 Firebase」。

反覆開發應用程式時,您也可以透過提示指示代理使用其他專案,例如:

Add Firestore to this app using project PROJECT_ID.

選擇專案後,會發生以下情況:

  • 系統會使用共用配額,在該專案中佈建新的 Cloud Firestore 資料庫。
  • 系統會設定Firebase Authentication與 Google 登入。
  • 如果 Android 應用程式使用生成式 AI,系統會設定 Firebase AI Logic、Firebase App Check 和 reCAPTCHA Enterprise。App Check會自動強制執行,以保護您的 API 配額。Firebase AI Logic
  • 服務帳戶會取得 Cloud Firestore 資料庫的存取權。 如要允許從 Google AI Studio 進行管理員存取,系統會將 Cloud Firestore 資料庫的存取權限授予名為 ais-sandbox@PROJECT_ID.iam.gservice.com 的新服務帳戶。這個帳戶只與您的 Google AI Studio 應用程式相關聯。
  • 限制:如果 Firebase 專案已有 Cloud Firestore 資料庫,代理就無法新增其他資料庫。您必須選取其他專案,或建立新的空白專案。

使用 Firebase 控制台

您可以在 Firebase 控制台中查看應用程式的資料和設定。如要存取與 Google AI Studio 相關聯的 Firebase 專案,請按照下列步驟操作:

  1. 前往 Firebase 控制台,選取標籤為 AI Studio 的專案。

  2. 在左側導覽窗格中,探索專案中已啟用的服務:

    • 如要查看及編輯儲存的 Cloud Firestore 資料,請依序前往「資料庫與儲存空間」>「Firestore」。
    • 如要查看或設定 Authentication 設定和資料,請依序前往「安全性」 >「驗證」。
    • 如要監控用量、查看配額或調整 Firebase AI Logic 的設定,請依序前往「AI」 >「AI Logic」。
    • 如要管理 App Check 強制執行、監控認證要求或撤銷偵錯權杖,請依序前往「Security」 >「App Check」。

疑難排解與常見問題

查看常見問題的解答,並瞭解如何解決將 Firebase 與 Google AI Studio 應用程式整合時發生的問題。

系統如何選取我的 Google Cloud / Firebase 專案和位置?

為應用程式要求 Firebase 後端時,您可以在顯示的資訊卡中選取位置和專案:

  • 自訂專案或位置 (選用):按一下「設定」圖示 ,選取要使用的位置或 Google Cloud 專案,然後按一下「啟用 Firebase」。

但請注意以下事項:

  • 資料庫位置無法變更:選取資料庫位置後,該專案就無法再變更。這項選擇將做為其他後端服務的預設值。
  • 專案一致性:為確保完美整合,Google AI Studio 會自動為後端和部署作業使用相同專案。您無法在同一個應用程式中,為不同服務使用不同專案。

支援哪些驗證方式?

當您要求設定 Authentication 或登入畫面時,Google AI Studio 代理會設定 Google 登入。如要在應用程式中新增其他登入方式,請按照下列步驟操作:

  1. 在 Firebase 控制台,依序前往「Security」(安全性) >「Authentication」(驗證) >「Sign-in method」(登入方式) 頁面,然後設定所需的登入方式。

  2. 返回 Google AI Studio,請 Google AI Studio 代理協助您使用新的登入方式更新程式碼集。

我可以使用 Google AI Studio 建立行動應用程式 (例如 Android 或 iOS) 嗎?

Google AI Studio 代理程式支援建立網頁應用程式和 Android 應用程式。Firebase 整合功能支援在網頁和 Android 應用程式中新增 Cloud Firestore 和 Authentication,並支援 Android 應用程式的 Firebase AI Logic 和 Firebase App Check。

Google AI Studio不支援建立 iOS 應用程式。不過,就像所有網頁應用程式一樣,Google AI Studio 建立的網頁應用程式可以透過安裝在行動裝置 (包括 iOS) 上的瀏覽器,以行動網頁應用程式的形式存取。

如要進一步瞭解如何建構 Android 應用程式,請參閱Google AI Studio說明文件。

為什麼 Firebase AI Logic 和 App Check 整合功能僅適用於 Android 應用程式,不適用於網頁應用程式?

Android 應用程式會以用戶端二進位檔 (APK) 的形式發布。如果 Android 應用程式使用標準 API 金鑰直接呼叫 Gemini API,任何人都能反編譯 APK、擷取金鑰,並提出未經授權的要求。為避免這種情況,以 Google AI Studio 建構的 Android 應用程式會搭配使用 Firebase AI Logic 和 Firebase App Check,驗證要求是否來自應用程式的真實執行個體。

另一方面,以 Google AI Studio 建構的網頁應用程式會使用 Google Gen AI SDK,從安全無虞的伺服器端執行階段 (部署時託管於 Cloud Run) 執行 Gemini API 要求。由於 API 金鑰會保留在伺服器上,且絕不會向用戶端瀏覽器公開,因此對於採用這種架構的網頁應用程式,不需要用戶端 Firebase AI Logic 和 App Check。

什麼是 firebase-blueprint.json 檔案?

Google AI Studio 代理會使用這個中繼檔案,瞭解應用程式的程式碼集。請勿手動修改這個檔案,否則代理可能會產生不正確的程式碼或不安全的 Security Rules。

如果看到「超過配額」錯誤訊息,該怎麼辦?

如果達到 Cloud Firestore 配額限制,代表應用程式已達 Cloud Firestore 資料庫共用配額群組的每日用量上限。解決方法有兩種:

  • 選項 1:等待:配額會在太平洋時間每天午夜左右重設。
  • 選項 2:升級:升級至即付即用 Blaze 定價方案。
    • 如果 Google AI Studio 代理程式為您設定 Cloud Firestore,您必須使用「升級資料庫」按鈕 (如「新增帳單以取得更多 Cloud Firestore 配額」一文所述),將資料庫移至一般付費狀態。如果您手動設定 Cloud Firestore,則不需要使用「Upgrade database」(升級資料庫) 按鈕。

如果收到「缺少權限或權限不足」錯誤訊息,該怎麼辦?

當應用程式嘗試讀取或寫入資料至 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 控制台的「資料庫和儲存空間」>「Firestore」頁面。

我所屬的機構使用 Google Cloud,可以將 Google AI Studio 應用程式連結至機構 Google Cloud 環境中的現有專案嗎?

可以,請確認 Firebase 專案位於 Google Cloud 機構資料夾中,然後使用下列任一方法連結專案:

  • 啟用期間:首次在 Google AI Studio 中啟用 Firebase 整合時,請在顯示的資訊卡中選取現有專案。按一下「Settings」(設定) 圖示 ,然後選取專案。
  • 疊代期間:如果您已啟用 Firebase 或想在稍後切換專案,可以透過提示指示代理程式使用現有專案,例如:

      Add Firestore to this app using project PROJECT_ID.
    

為什麼我在 Firebase 控制台找不到特定文件?

如果 AI Studio 代理將資料儲存至巢狀路徑 (例如 /users/user1/messages/msg1),但未先建立父項文件 (user1),就會建立所謂的不存在父項文件。這些文件不會顯示在 Firebase 控制台中,因此在瀏覽 Cloud Firestore 資料庫時可能難以找到。雖然這不會影響應用程式的執行方式,但您通常可以向 AI Studio 代理程式說明問題,提示代理程式建立缺少的父項文件。

詳情請參閱「不存在的上層文件」。

我可以選擇 Cloud Firestore 資料庫的位置嗎?

可以,首次在 Google AI Studio 中啟用 Firebase 整合功能時,您可以選取 Cloud Firestore 資料庫的位置。

請注意,您選取的位置會套用至 Google AI Studio 代理在該 Firebase 專案中建立的「所有」Cloud Firestore 資料庫。設定後,這些資料庫的位置即無法變更。

升級 Cloud Firestore 資料庫後,可以將其移回共用配額群組嗎?

資料庫移出共用配額群組並轉換為一般付費執行個體後,您可以使用 curl 指令將其移回共用配額群組。請注意,共用配額群組中的所有資料庫必須是相同版本,且位於相同區域。

  • PROJECT_ID:Firebase 專案 ID。在 Firebase 控制台中,依序點選「設定」 >「一般」頁面,即可找到這個 ID。

  • DATABASE_ID:Cloud Firestore 資料庫 ID,與小工具 ID 相同。如要找出這個資料庫 ID,請前往 Google AI Studio,依序點選「設定」>「整合」,然後按一下「Firebase Firestore 和 Auth」圖塊。

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": true}'

Google 如何在 Google AI Studio 使用我的資料 (例如程式碼和提示)?

如要進一步瞭解資料的使用方式,請參閱《Gemini API 附加服務條款》。

我收到 Google Cloud 寄來的電子郵件,內容提到「您的 Google Cloud 專案有可公開存取的 Google API 金鑰」。我需要做些什麼?

如果您收到 Google Cloud 的電子郵件,指出「您的 Google Cloud 專案有可公開存取的 Google API 金鑰」,且電子郵件中列出的 API 金鑰是您的 Firebase API 金鑰,請確認該 API 金鑰符合下列規定,確保可安全地納入程式碼或設定檔。您可以在 Google Cloud 控制台的「APIs & Services」(API 和服務) >「Credentials」(憑證) 頁面中驗證下列項目。

  • 這是您用於 Firebase 應用程式的 API 金鑰,只能用於 Firebase 服務。這些按鍵通常稱為 Browser key (auto created by Firebase)、Android key (auto created by Firebase) 或 iOS key (auto created by Firebase)。
  • 金鑰的「API 限制」許可清單中,包含所有必要的 Firebase 相關 API。
  • 「API 限制」允許清單中沒有任何其他 API。具體來說,清單「不得」包含 Generative Language API。

此外,請務必使用建議的 Firebase Security Rules 和 App Check, 搭配您使用的 Firebase 產品。

如要進一步瞭解 Firebase 的 API 金鑰,並查看常見問題清單,請參閱「瞭解如何使用及管理 Firebase 的 API 金鑰」。