遇到其他問題,或找不到下方列出的問題嗎?請回報錯誤或要求新功能,並加入 Stack Overflow 討論。
Firebase 專案和 Firebase 應用程式
什麼是 Firebase 專案?
Firebase 專案是 Firebase 的頂層實體。在專案中,您可以註冊 Apple、Android 或網頁應用程式。向 Firebase 註冊應用程式後,即可將特定產品的 Firebase SDK 新增至應用程式,例如 Analytics、Cloud Firestore、Crashlytics 或 Remote Config。
您應在單一 Firebase 專案中註冊 Apple、Android 和網頁應用程式變體。您可以使用多個 Firebase 專案支援多個環境,例如開發、測試和正式環境。
如要進一步瞭解 Firebase 專案,請參閱下列資源:
- 瞭解 Firebase 專案:簡要介紹 Firebase 專案的幾個重要概念,包括與 Google Cloud 的關係,以及專案及其應用程式和資源的基本階層。
- 設定 Firebase 專案的一般最佳做法:提供設定 Firebase 專案的一般高階最佳做法,以及向專案註冊應用程式的最佳做法,讓您清楚瞭解如何使用不同環境,建立開發工作流程。
請注意,對於所有 Firebase 專案,Firebase 會在 Google Cloud 控制台的專案「標籤」頁面中,自動新增 firebase:enabled
標籤。如要進一步瞭解這項標籤,請參閱常見問題。
什麼是Google Cloud機構?
Google Cloud機構是Google Cloud專案 (包括 Firebase 專案) 的容器。這個階層可讓您更有效率地整理、管理存取權,以及稽核 Google Cloud 和 Firebase 專案。詳情請參閱「建立及管理機構」。
如何將 Firebase 新增至現有的 Google Cloud 專案?
您可能已透過 Google Cloud 控制台或 Google API 控制台管理現有專案。Google Cloud
你可以使用下列任一選項,將 Firebase 新增至這些現有的 Google Cloud 專案:
- 使用 Firebase 控制台。
- 使用程式輔助選項:
- 呼叫 Firebase Management REST API 端點
projects.addFirebase
。 - 執行 Firebase CLI 指令
firebase projects:addfirebase
。 - 使用 Terraform。
- 呼叫 Firebase Management REST API 端點
進一步瞭解如何將 Firebase 新增至 Google Cloud 專案。
Firebase 與 Google Cloud 的整合功能如何運作?
Firebase 與 Google Cloud 緊密整合。專案會在 Firebase 和 Google Cloud 之間共用,因此專案可以同時啟用 Firebase 服務和 Google Cloud 服務。您可以透過 Firebase 控制台或 Google Cloud 控制台存取同一個專案。具體來說:
- 部分 Firebase 產品直接由 Google Cloud 提供支援,例如 Cloud Storage for Firebase。支援的產品清單會持續擴充。Google Cloud
- 可共用多項設定,包括協作者和帳單資訊。Google CloudFirebase 和 Google Cloud 的用量會顯示在同一張帳單上。
此外,升級至 Blaze 方案後,您就能直接在 Firebase 專案中使用Google Cloud的任何世界級基礎架構即服務和 API,並享有標準Google Cloud定價。您也可以將 Google Cloud 的資料直接匯出至 BigQuery 進行分析。詳情請參閱「將 BigQuery 連結至 Firebase」。
與其他非共置的雲端服務相比,使用 Google Cloud 搭配 Firebase 可享有許多好處,包括提升安全性、縮短延遲時間及節省時間。詳情請參閱Google Cloud網站。
為什麼我的 Google Cloud 專案有 firebase:enabled
標籤?
在 控制台的專案「標籤」頁面中,您可能會看到 標籤 (具體來說,是 ,且 為 )。Google Cloudfirebase:enabled
Key
firebase
Value
enabled
由於您的專案是 Firebase 專案,因此 Firebase 自動新增了這個標籤。這表示您的專案已啟用 Firebase 專屬的設定和服務。進一步瞭解 Firebase 專案與 Google Cloud 之間的關係。
強烈建議您不要修改或刪除這個標籤。Firebase 和 Google Cloud 會使用這個標籤列出您的 Firebase 專案 (例如使用 REST API projects.list
端點,或在 Firebase 控制台的選單中)。
請注意,手動將這個標籤新增至專案標籤清單,並不會為 Google Cloud 專案啟用 Firebase 專屬設定和服務。如要這麼做,請使用Firebase控制台新增 Firebase (或針對進階用途,使用 Firebase Management REST API 或 FirebaseCLI)。
為什麼我的 Firebase 專案沒有顯示在 Firebase 專案清單中?
如果您在下列位置找不到 Firebase 專案,請參閱這份常見問題:
- 在 Firebase 控制台查看的專案清單中
- 呼叫 REST API
projects.list
端點後的回應中 - 執行 Firebase CLI 指令後,回應會顯示
firebase projects:list
請嘗試下列疑難排解步驟:
- 首先,請嘗試直接前往專案網址,存取專案。請使用下列格式:
https://console.firebase.google.com/project/PROJECT_ID/overview
- 如果無法存取專案或收到權限錯誤訊息,請檢查下列事項:
- 請確認您登入 Firebase 時使用的 Google 帳戶,與有權存取專案的帳戶相同。您可以透過控制台右上角的帳戶顯示圖片,登入及登出 Firebase 控制台。
- 檢查您是否可以在Google Cloud控制台中查看專案。
- 請確認專案在 Google Cloud 控制台的「標籤」頁面中,具有
firebase:enabled
標籤。Firebase 和 Google Cloud 會使用這個標籤列出您的 Firebase 專案。如果沒有看到這個標籤,但專案已啟用 Firebase Management API,請手動新增標籤 (具體來說,是Key
,其中包含firebase
和Value
,而Value
包含enabled
)。 - 請確認您已獲派基本 IAM 角色 (擁有者、編輯者、檢視者) 或具備 Firebase 相關權限的角色,例如 Firebase 預先定義角色。您可以在 Google Cloud 控制台的「IAM」頁面中查看角色。
- 如果專案屬於Google Cloud機構,您可能需要額外權限,才能在Firebase控制台中看到專案。請與管理 Google Cloud 機構的人員聯絡,要求對方授予您適當的角色來查看專案,例如「瀏覽器」角色。
如果上述疑難排解步驟無法解決問題,請與 Firebase 支援團隊聯絡。
每個 Google 帳戶 (電子郵件地址) 最多可以有多少個專案?
- Spark 定價方案:專案建立配額有限,通常只能建立 5 到 10 個專案。
- Blaze 定價方案:專案建立配額仍有限制,但連結信譽良好的Cloud Billing帳戶後,配額可能會增加。
請注意專案建立配額的限制:
- 這項限制「並非」Firebase 專屬限制。Firebase 對專案配額的限制與 Google Cloud 相同。
- 在極少數情況下,您可能需要要求增加專案配額。
- 專案需要 30 天才會徹底刪除,且在徹底刪除前,仍會計入專案配額。
瞭解 Firebase 建議的一般最佳做法,設定 Firebase 專案。
一個 Firebase 專案最多可以有多少個 Firebase 應用程式?
Firebase 專案就像一個容器,可容納 Apple、Android 和網頁的 Firebase 應用程式。Firebase 專案中的 Firebase 應用程式總數不得超過 30 個。
超過這個數量後,效能就會開始下降 (尤其是 Google Analytics),最終在應用程式數量較多時,部分產品功能會停止運作。此外,如果您使用 Google 登入做為驗證供應商,系統會為專案中的每個應用程式建立基礎 OAuth 2.0 用戶端 ID。單一專案最多只能建立約 30 個用戶端 ID。
請確保單一 Firebase 專案中的所有 Firebase 應用程式,從使用者角度來看都是同一應用程式的不同平台版本。舉例來說,如果您開發的是白標應用程式,每個獨立標記的應用程式都應有自己的 Firebase 專案,但該標籤的 Apple 和 Android 版本可以位於同一個專案。如需更詳細的指引,請參閱設定 Firebase 專案的一般最佳做法。
如果專案需要超過 30 個應用程式,可以申請提高應用程式數量上限。專案必須採用 Blaze 定價方案,才能提出這項要求。請前往 Google Cloud 控制台提出要求,並接受評估。如要進一步瞭解如何管理配額,請參閱 Google Cloud 說明文件中的配額管理。
如果我將專案標記為「正式」環境,會發生什麼事?
在 Firebase 控制台中,您可以將 Firebase 專案標記為正式或未指定 (非正式) 環境。
標記專案環境類型不會影響 Firebase 專案的運作方式或功能。不過,標記功能有助於您和團隊管理應用程式生命週期的各種 Firebase 專案。
如果將專案標記為正式環境,專案在 Firebase 控制台中會顯示亮眼的「正式環境」字樣,提醒您任何變更都可能影響相關聯的正式環境應用程式。未來,我們可能會為標示為生產環境的 Firebase 專案,新增更多功能和安全防護措施。
如要變更 Firebase 專案的環境類型,請依序前往「專案設定」settings >「一般」,然後在「環境」下方的「您的專案」資訊卡中,按一下 edit 變更環境類型。
要在哪裡找到 Firebase 應用程式的應用程式 ID?
在 Firebase 控制台中,前往「Project settings」(專案設定)。settings向下捲動至「您的應用程式」資訊卡,然後按一下所需的 Firebase 應用程式,即可查看應用程式資訊,包括「應用程式 ID」。
以下列舉幾個應用程式 ID 值範例:
-
Firebase iOS 應用程式:
1:1234567890:ios:321abc456def7890
-
Firebase Android 應用程式:
1:1234567890:android:321abc456def7890
-
Firebase 網頁應用程式:
1:1234567890:web:321abc456def7890
連結 Google Play / AdMob / Google Ads / BigQuery 至 Firebase 專案或應用程式的先決條件為何?
- 如要連結Google Play帳戶,請準備下列項目:
- 在 Firebase 擔任下列任一角色:擁有者或 Firebase 管理員
以及 - 下列任一 Google Play 存取層級:帳戶擁有者或管理員
- 在 Firebase 擔任下列任一角色:擁有者或 Firebase 管理員
- 如要連結 AdMob 應用程式,您必須同時是 Firebase 專案擁有者和 AdMob 管理員。
- 如要連結 AdWords 帳戶,您必須同時是 Firebase 專案擁有者和 AdWords 管理員。
- 如要連結 BigQuery 專案,您必須是 Firebase 專案擁有者。
應用程式應包含哪些開放原始碼通知?
在 Apple 平台上,Firebase Pod 包含 NOTICES 檔案,其中含有相關項目。Firebase Android SDK 包含用於顯示授權資訊的輔助程式 Activity
。
Firebase 專案的權限和存取權
如何為專案成員指派角色,例如「擁有者」角色?
如要管理指派給每個專案成員的角色,您必須是 Firebase 專案的擁有者 (或獲派具備 resourcemanager.projects.setIamPolicy
權限的角色)。
您可以在下列位置指派及管理角色:
- 在 Firebase 控制台的「使用者和權限」分頁中,您可以輕鬆指派專案成員的角色。如要前往該分頁,請依序點選 settings >「專案設定」。在 Firebase 控制台中,您可以指派任何基本角色 (擁有者、編輯者、檢視者)、Firebase 管理員/檢視者角色,或是任何Firebase 預先定義的產品類別角色。
- Google Cloud 控制台提供一系列工具,可讓您在「身分與存取權管理」頁面中,指派專案成員的角色。您也可以在 Cloud 控制台中建立及管理自訂角色,並授予服務帳戶專案存取權。
請注意,在 Google Cloud 控制台中,專案成員稱為「主體」。
如果專案擁有者無法再執行擁有者工作 (例如該人員已離職),且專案並非透過 Google Cloud 機構管理 (請參閱下一個段落),您可以與 Firebase 支援團隊聯絡,詢問如何要求存取 Firebase 專案。
請注意,如果 Firebase 專案屬於Google Cloud機構,可能沒有擁有者。 如果找不到 Firebase 專案的擁有者,請與管理 Google Cloud 機構的人員聯絡,指派專案擁有者。
如何找出 Firebase 專案的擁有者?
您可以在下列位置查看專案成員及其角色:
- 如果您有權存取 Firebase 控制台中的專案,可以在 Firebase 控制台的「使用者和權限」頁面中,查看專案成員清單,包括擁有者。
- 如果您無法在 Firebase 控制台中存取專案,請檢查是否能在 Google Cloud 控制台中存取專案。您可以在 Google Cloud 控制台的「身分與存取權管理」頁面中,查看專案成員清單,包括擁有者。
如果專案擁有者無法再執行擁有者工作 (例如該人員已離職),且專案並非透過Google Cloud機構管理 (請參閱下一個段落),您可以聯絡 Firebase 支援團隊,要求指派臨時擁有者。
請注意,如果 Firebase 專案屬於Google Cloud機構,可能沒有擁有者。不過,管理貴機構的人員可以執行許多版主的工作。但如要執行幾項版主專屬工作 (例如指派角色或管理Google Analytics資源),管理員可能需要指派實際的版主角色給自己,才能執行這些工作。Google Cloud如果找不到 Firebase 專案的擁有者,請與管理 Google Cloud機構的人員聯絡,指派專案擁有者。
為什麼或何時應將「擁有者」角色指派給專案成員?
為確保 Firebase 專案管理無虞,專案必須有擁有者。
專案成員通常只有擁有者角色,才能執行管理工作或接收重要通知:
- 專案成員通常只有具備「擁有者」角色的成員,才能執行重要的管理動作 (例如指派角色和管理 Google Analytics 資源),而 Firebase 支援團隊只會處理專案擁有者提出的管理要求。
- 專案成員通常只有擁有者角色 (預設) 才會收到專案或產品異動通知 (例如帳單和法律異動、功能淘汰等)。如要讓特定或額外的專案成員收到通知,可以選擇自訂專案的「重要聯絡人」。
為 Firebase 專案設定擁有者後,請務必隨時更新指派對象。
請注意,如果 Firebase 專案屬於 Google Cloud 機構,管理 Google Cloud 機構的人員可以執行許多擁有者能執行的工作。不過,對於幾項擁有者專屬的工作 (例如指派角色或管理 Google Analytics 資源),管理員可能需要指派實際的擁有者角色給自己,才能執行這些工作。
我認為自己沒有 Firebase 專案,但卻收到相關電子郵件。如何存取這個專案?
您收到的電子郵件應包含開啟 Firebase 專案的連結。 按一下電子郵件中的連結,即可在 Firebase 控制台中開啟專案。
如果無法開啟連結中的專案,請確認您登入 Firebase 時使用的 Google 帳戶,與收到專案相關電子郵件的帳戶相同。如要登入及登出 Firebase 控制台,請點選控制台右上角的帳戶顯示圖片。
請注意,如果您是Google Cloud機構的管理員,系統可能會通知您機構內 Firebase 專案的變更。不過,您的權限可能不足,無法開啟 Firebase 專案。在這種情況下,最簡單的解決方法是為自己指派實際的擁有者角色,開啟專案並執行必要操作。進一步瞭解指派擁有者角色的原因和時機。
平台和架構
如需實用提示和更多常見問題的解答,請前往平台專屬的疑難排解和常見問題頁面。
Firebase 控制台
存取 Firebase 控制台時,支援哪些瀏覽器?
您可以透過最新版的熱門桌上型瀏覽器 (例如 Chrome、Firefox、Safari 和 Edge) 存取 Firebase 控制台。目前行動瀏覽器尚未完全支援這項功能。
我能載入 Firebase 控制台,但為什麼找不到或無法存取我的 Firebase 專案?
如果遇到下列任一問題,請參閱這篇常見問題:
- Firebase 控制台會傳回錯誤頁面,指出專案可能不存在,或是您沒有專案存取權。
- 即使在控制台的搜尋欄位中輸入專案 ID 或專案名稱,Firebase 控制台也不會顯示專案。
請嘗試下列疑難排解步驟:
- 首先,請嘗試直接前往專案網址,存取專案。請使用下列格式:
https://console.firebase.google.com/project/PROJECT-ID/overview
- 如果還是無法存取專案或收到權限錯誤訊息,請檢查下列事項:
- 請確認您登入 Firebase 時使用的 Google 帳戶,與有權存取專案的帳戶相同。您可以透過控制台右上角的帳戶顯示圖片,登入及登出 Firebase 控制台。
- 確認專案已啟用 Firebase Management API。
- 請確認您已獲派基本 IAM 角色 (擁有者、編輯者、檢視者) 或具備 Firebase 相關權限的角色,例如 Firebase 預先定義角色。您可以在 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面中查看角色。
- 如果專案屬於Google Cloud機構,您可能需要額外權限,才能在Firebase控制台中看到專案。請與管理 Google Cloud 機構的人員聯絡,要求對方授予您適當的角色來查看專案,例如「瀏覽器」角色。
如果上述疑難排解步驟都無法協助您尋找或存取專案,請與 Firebase 支援團隊聯絡。
為什麼我無法載入 Firebase 控制台?
如果遇到下列任一問題,請參閱這篇常見問題:
- Firebase 控制台中的頁面永遠無法完成載入。
- 頁面中的資料無法正常載入。
- 載入 Firebase 控制台時收到瀏覽器錯誤訊息。
請嘗試下列疑難排解步驟:
- 查看 Firebase 狀態資訊主頁的「控制台」列,確認是否有服務中斷情形。
- 確認你使用的是支援的瀏覽器。
- 嘗試在無痕或私密瀏覽視窗中載入 Firebase 管理中心。
- 停用所有瀏覽器擴充功能。
- 確認網路連線未遭廣告攔截器、防毒軟體、Proxy、防火牆或其他軟體封鎖。
- 嘗試使用其他網路或裝置載入 Firebase 控制台。
- 如果使用 Chrome,請檢查開發人員工具主控台是否有錯誤。
如果上述疑難排解步驟都無法解決問題,請與 Firebase 支援團隊聯絡。
如何決定 Firebase主機語言?
Firebase 控制台的語言設定取決於您在 Google 帳戶設定中選取的語言。
如要變更語言偏好設定,請參閱「變更語言」。
Firebase 控制台支援下列語言:
- 英文
- 巴西葡萄牙文
- 法文
- 德文
- 印尼文
- 日文
- 韓文
- 俄文
- 簡體中文
- 西班牙文
- 繁體中文
Firebase 控制台支援哪些角色和權限?
Firebase 控制台和 Google Cloud 控制台使用相同的基礎角色和權限。如要進一步瞭解角色和權限,請參閱 Firebase IAM 說明文件。
Firebase 支援「擁有者」、「編輯者」和「檢視者」等基本角色:
- 專案擁有者可以將其他成員新增至專案、設定整合 (將專案連結至 BigQuery 或 Slack 等服務),並擁有專案的完整編輯存取權。
- 專案編輯者擁有專案的完整編輯權限。
- 專案檢視者只有專案的讀取權限。 請注意,Firebase 控制台目前不會對專案檢視者隱藏/停用編輯 UI 控制項,但如果專案成員獲派檢視者角色,這些作業就會失敗。
Firebase 也支援:
- Firebase 預先定義角色:專為 Firebase 打造的角色,可提供比「擁有者」、「編輯者」和「檢視者」基本角色更精細的存取控管。
- 自訂角色 — 您建立的 IAM 角色,可完全自訂一組權限,以符合貴機構的特定需求。
控制台的「範例應用程式體驗」如何運作?會發生什麼情況?我該怎麼做?
Firebase 控制台提供範例應用程式體驗,讓您探索及實驗 Firebase 和其他 Google 服務 (例如 Gemini API)。
自動設定 Firebase 並部署範例應用程式
在 Firebase 控制台中體驗範例應用程式時,系統會自動為您執行下列操作:
- 建立範例應用程式專用的新 Firebase 專案
- 在新 Firebase 專案中註冊 Firebase 網頁應用程式
- 啟用範例應用程式使用的服務和 API (例如 Firebase Authentication、Cloud Firestore 等)
- 佈建任何必要資源 (例如資料庫執行個體和安全性規則)
- 設定 Firebase AI Logic 以使用 Gemini Developer API
- 使用 Firebase Hosting 將範例應用程式部署至臨時預覽網址 (預設情況下,這個網址會在 7 天後失效)
探索範例應用程式的程式碼集
方法 1:在 Firebase Studio 中開啟範例應用程式程式碼集的個人化版本
透過範例應用程式體驗,您可以在 Firebase Studio (Google 的網頁式工作區,可用於全端應用程式開發) 中開啟範例應用程式程式碼集的個人化版本。設定專案和應用程式後 (如上所述),您可以在 Firebase 控制台的橫幅中,以及已部署應用程式的頂端,找到 Firebase Studio 的連結。
在 Firebase Studio 中開啟範例應用程式時,系統會自動為您執行下列操作:
- 使用在初始設定中建立的相同 Firebase 專案、Firebase 網頁應用程式和資源 (請參閱上文)
- 將範例應用程式的 Firebase 設定插入程式碼集 (通常是
src/bootstrap.js
)
在 Firebase Studio 中,您可以探索程式碼集,瞭解如何與各種 Firebase 和 Google 服務互動。
選項 2:在 GitHub 中查看範例應用程式程式碼庫的公開非個人化版本
或者,您也可以在 GitHub 中查看範例應用程式程式碼庫的公開、非個人化版本。
- 「Planning with the Gemini API」(使用 Gemini API 規劃) - GitHub 存放區
Firebase Local Emulator Suite
為什麼模擬器套件記錄會顯示以「Multiple projectIds are not recommended in single project mode」開頭的錯誤?
這則訊息表示模擬器套件偵測到您可能使用不同的專案 ID 執行特定產品模擬器。這可能表示設定錯誤,並導致模擬器彼此通訊時發生問題,以及您嘗試透過程式碼與模擬器互動時發生問題。如果專案 ID 不相符,通常會顯示資料遺失,因為儲存在模擬器中的資料會以專案 ID 為鍵,而互通性取決於專案 ID 是否相符。
開發人員經常對此感到困惑,因此現在預設情況下,Local Emulator Suite 只允許使用單一專案 ID 執行,除非您在 firebase.json
設定檔中另行指定。如果模擬器偵測到多個專案 ID,就會記錄警告,並可能擲回嚴重錯誤。
檢查專案 ID 聲明,確認下列項目是否不符:
-
在指令列中設定的預設專案。根據預設,啟動時會從以
firebase init
或firebase use
選取的專案中取得專案 ID。如要查看專案清單 (並瞭解選取的專案),請使用firebase projects:list
。 -
單元測試。專案 ID 通常會在呼叫規則單元測試程式庫方法
initializeTestEnvironment
或initializeTestApp
時指定。 其他測試程式碼可能會使用initializeApp(config)
初始化。 -
指令列
--project
標記。傳遞 Firebase CLI--project
標記會覆寫預設專案。您必須確保標記的值與單元測試和應用程式初始化中的專案 ID 相符。
各平台適用的檢查位置:
網頁 | JavaScript firebaseConfig 物件中的 projectId 屬性,用於 initializeApp 。 |
Android | google-services.json 設定檔中的 project_id 屬性。 |
Apple 平台 | GoogleService-Info.plist 設定檔中的 PROJECT_ID 屬性。 |
如要停用單一專案模式,請使用 singleProjectMode
鍵更新 firebase.json
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
定價
如需特定產品的價格常見問題,請參閱本頁面或專屬產品說明文件中的產品部分。
哪些產品需要付費?哪些是免付費?
如要詳細瞭解付費和免付費產品,請參閱 Firebase 定價方案。
Firebase 是否提供付費產品的免付費試用抵免額?
您可以在Google Cloud免費試用期間使用 Firebase 付費服務。Google Cloud 和 Firebase 的新使用者享有 $300 美元免費Cloud Billing抵免額,可以在 90 天的免費試用期內盡情體驗及評估 Google Cloud 和 Firebase 的各項產品和服務。
在Google Cloud免費試用期間,您會獲得免費試用Cloud Billing帳戶。凡是連結至該帳單帳戶的 Firebase 專案,在免費試用期間都會採用即付即用 Blaze 定價方案。
請放心,將 Firebase 專案連結至這個免費試用帳戶Cloud Billing後,我們不會針對超出這些抵免額的使用量向您收費。除非您將免費試用 Cloud Billing 帳戶升級為付費帳戶來明確啟用計費功能,否則我們不會向您收取超出抵免額的用量費用。您可以在試用期間隨時升級為付費帳戶。升級為付費帳戶後,您仍可繼續使用剩餘的抵免額,但效期仍為 90 天。
免費試用期結束後,如果未將免費試用帳戶升級為付費帳戶,系統會自動將連結的 Firebase 專案降級至 Spark 定價方案。Cloud Billing請注意,您隨時可以再次升級至 Blaze 定價方案。
進一步瞭解Google Cloud免費試用。
如何判斷哪種價格方案適合我?
如需定價方案的詳細資訊,請參閱 Firebase 定價方案。
Spark 定價方案
我們的 Spark 方案非常適合用來開發應用程式,而且完全免費。您可使用所有免付費的 Firebase 功能 (Analytics、Remote Config、Crashlytics 等),以及大量付費基礎架構功能。不過,如果應用程式在某個日曆月內超過 Spark 方案的資源用量,系統會在當月剩餘時間內關閉應用程式。此外,使用 Spark 方案時,無法使用 Google Cloud 功能。
Blaze 定價方案
Blaze 方案專為正式版應用程式設計,升級至 Blaze 方案後,應用程式即可使用付費的 Google Cloud 功能。你只需要為實際使用的資源付費,因此可以視需求調度資源。我們致力於讓 Blaze 方案的價格與領先業界的雲端服務供應商相比,更具競爭力。
我是否可以隨時升級、降級或取消訂閱?
可以,你隨時可以升級、降級或取消訂閱。請注意,如果降級或取消訂閱,我們不會提供按比例計算的退款。也就是說,如果您在帳單週期結束前降級或取消,仍須支付當月剩餘時間的費用。
Blaze 方案的免付費用量與 Spark 方案的免付費用量有何不同?
Blaze 方案的免付費用量會每日計算。Cloud Functions、電話驗證和 Test Lab 的用量限制也與 Spark 方案不同。
如果是 Cloud Functions,Blaze 方案的免付費用量是以Cloud Billing帳戶層級而非專案層級計算,並有以下限制:
- 每月 200 萬次叫用
- 每月 40 萬 GB/秒
- 每月 20 萬 CPU 使用秒數
- 每月 5 GB 的網路輸出量
Blaze 方案的電話驗證免付費用量是按月計算。
Blaze 方案的 Test Lab 免付費用量有以下限制:
- 每天 30 分鐘的實體裝置使用時間
- 每天 60 分鐘的虛擬裝置時間
從 Spark 方案改用 Blaze 方案後,免付費用量配額會重設嗎?
Blaze 方案包含 Spark 方案的免付費用量。 改用 Blaze 方案後,免付費用量不會重置。
如果我在 Google Cloud 控制台中將帳單帳戶連結至 Firebase 專案,會發生什麼情況?
如果 Cloud Billing 帳戶已連結至 Google Cloud 控制台中的專案,系統會自動將該專案升級至 Firebase 即付即用 Blaze 方案 (如果該專案目前採用 Spark 方案)。
反之,如果從 Google Cloud 控制台取消專案與現有有效 Cloud Billing 帳戶的連結,該專案就會降級至 Firebase 免付費 Spark 方案。
如何監控用量和帳單?
您可以在 Firebase 控制台的下列任一資訊主頁中,追蹤專案資源用量:
我可以為 Blaze 方案設定用量上限嗎?
目前無法為 Blaze 方案用量設定上限。我們正在評估如何支援 Blaze 方案用量上限。
Blaze 使用者可以為專案或帳戶設定預算,並在支出接近上限時收到快訊。瞭解如何設定預算快訊。
我會獲得哪種支援?
所有 Firebase 應用程式 (包括使用免付費方案的應用程式),均享有 Firebase 團隊在美國太平洋時間工作時段提供的電子郵件支援服務。所有帳戶在帳單、帳戶相關問題、技術 (疑難排解) 問題和事件報表方面,都可享有不限次數的支援服務。
你們是否提供開放原始碼、非營利或教育折扣?
Spark 方案適用於任何類型的個人或機構,包括非營利機構、學校和開放原始碼專案。由於這些方案已包含大量配額,因此我們不會為開放原始碼、非營利或教育專案提供任何特別折扣或方案。
你們是否提供企業合約、定價、支援或專屬基礎架構代管服務?
Blaze 方案適用於各種規模的企業,且我們的服務等級協議符合或超越雲端基礎架構的業界標準。不過,我們目前不提供企業合約、定價或支援服務,也不提供專屬基礎架構代管服務 (即內部部署安裝) 給 Realtime Database 等服務。我們正努力新增部分功能。
你們提供臨時價格嗎?我只想針對一或兩項功能採用即付即用方案。
Blaze 方案提供隨選即付定價,您只需為使用的功能付費。
付費 Firebase 方案如何與 Ads搭配運作?付費方案是否提供免費廣告抵免額?
Firebase 定價方案與 Ads無關,因此不會提供免費的廣告抵免額。Firebase 開發人員可以「連結」Ads帳戶與 Firebase,支援轉換追蹤。
所有廣告活動都直接在 Ads 中管理,而帳單則在 Ads 控制台中管理。Ads
Flame 定價方案有何異動?
2020 年 1 月,我們已移除 Flame 價格方案 (每月額外配額 $25 美元),不再提供新註冊者選用。我們為現有方案使用者提供寬限期,讓他們將專案從 Flame 方案遷移。2022 年 2 月,其餘 Flame 定價方案專案已降級至 Spark 定價方案。
因此,
- 現有的 Spark 和 Blaze 方案專案,以及任何新專案,都無法再切換或註冊 Flame 方案。
- 如果將現有的 Flame 方案專案移至其他定價方案,該專案就無法再改回 Flame 方案。
- 降級至 Spark 方案的專案可以升級至 Blaze 方案,繼續使用額外的付費服務。
- 說明文件已移除 Flame 方案的相關內容。
對 Flame 方案終止服務還有其他疑問嗎?請參閱下方的其他常見問題。
想瞭解 Firebase 提供的其他定價方案嗎?請前往 Firebase 定價頁面!如要開始將現有專案移至其他定價方案,請前往專案的 Firebase 控制台。
Flame 方案淘汰的其他常見問題
我的專案、程序或業務模式需要固定的 Firebase 費用。該怎麼做?
註冊 Blaze 定價方案,並務必設定預算快訊。
我可以取得特殊存取權,建立新的 Flame 方案專案嗎?
否,Firebase 不會提供專案的特殊存取權,讓專案切換或註冊 Flame 方案。
我將 Flame 方案專案改用其他定價方案,如何改回舊版?
您無法再切換至 Flame 方案。如要存取 Flame 方案提供的服務,請務必使用 Blaze 定價方案,並考慮為專案設定預算快訊。
由於 Flame 方案已停用,我的專案已自動改用其他定價方案。該怎麼做?
如果專案需要的配額超出 Spark 方案提供的配額,請將專案升級至 Blaze 定價方案。
為什麼要淘汰 Flame 方案?
多年來,我們發現 Flame 方案的使用率不斷下降,而且大多數使用該方案的專案都未充分發揮其價值。維持這項定價方案通常不具成本效益,我們認為如果將資源投入其他 Firebase 計畫,就能為所有人提供更優質的服務。
隱私權
哪裡可以找到 Firebase 的隱私權與安全性資訊?
請參閱「Firebase 隱私權與安全性」頁面。
Firebase SDK 是否會在 Analytics 以外的地方記錄任何使用/診斷資訊?
可以,目前僅適用於 iOS,但日後可能會有所變更。Firebase Apple 平台 SDK 預設包含 FirebaseCoreDiagnostics
架構。Firebase 會使用這個架構收集 SDK 使用情況和診斷資訊,以便優先進行未來的產品改善作業。FirebaseCoreDiagnostics
為選用項目,因此如要選擇不傳送 Firebase 診斷記錄,可以取消程式庫與應用程式的連結。您可以在 GitHub 上瀏覽完整來源,包括記錄的值。
A/B Testing
A/B Testing:我可以建立及執行的實驗數量上限為何?
每個專案最多可進行 300 項實驗,其中最多 24 項可同時進行,其餘則為草稿或已完成。
A/B Testing:為什麼在取消連結專案與 Google Analytics,然後重新連結後,就無法查看實驗?
連結至其他 Google Analytics 資源後,您將無法存取先前建立的實驗。如要重新存取先前的實驗,請將專案重新連結至建立實驗時連結的 Google Analytics 資源。
A/B Testing:建立 Remote Config 實驗時,為什麼會收到「專案未連結至 Google Analytics」訊息?
如果您已連結 Firebase 和 Google Analytics,但仍看到 Google Analytics 未連結的訊息,請確認專案中所有應用程式都有 Analytics 資料串流。目前專案中的所有應用程式都必須連結至 Google Analytics 串流,才能使用 A/B 測試。
如要查看所有有效資料串流的清單,請前往 Firebase 控制台的「Google Analytics 整合詳細資料」頁面。方法是依序點選「專案設定」settingschevron_right「整合」chevron_right「Google Analytics」chevron_right「管理」。
為沒有 Google Analytics 串流的應用程式建立串流,應該就能解決問題。 如要為缺少的應用程式建立串流,有幾種方法:
-
如果只有一或兩個應用程式缺少相關聯的 Google Analytics 串流,您可以選擇下列其中一種方法來新增 Google Analytics 串流:
- 在 Firebase 控制台中刪除並重新新增沒有有效串流的應用程式。
- 在 Google Analytics 控制台中選取「管理」,然後依序點選「資料串流」和「新增串流」,新增缺少的應用程式詳細資料,然後點選「註冊應用程式」。
-
如果缺少多個應用程式串流,最快速有效的方法是取消連結並重新連結 Google Analytics 資源,藉此建立缺少的應用程式串流:
- 在「專案設定」settings 中,選取「整合」。
- 在「Google Analytics」資訊卡中,按一下「管理」,即可存取 Firebase 和 Google Analytics 設定。
- 記下 Google Analytics 資源 ID 和已連結的 Google Analytics 帳戶。
- 按一下「更多」more_vert,然後選取「將這項專案與 Analytics 取消連結」。
-
查看顯示的警告 (別擔心,您會在下一個步驟中重新連結相同的資源),然後按一下「取消連結 Google Analytics」。
取消連結完成後,系統會將你重新導向至「整合」頁面。 - 在「Google Analytics」資訊卡中,按一下「啟用」,開始重新連結程序。
- 從「選取帳戶」清單中選取 Analytics 帳戶。
-
在「自動在這個帳戶中建立新資源」旁邊,按一下「編輯」edit,然後從顯示的「Analytics 資源」清單中選取資源 ID。
畫面會顯示專案中的所有應用程式。系統會列出每個應用程式的現有串流對應,並為沒有串流的應用程式建立串流。 - 按一下「啟用 Google Analytics」,重新連結資源。
- 按一下「完成」。
如果執行上述步驟後,您仍無法使用遠端設定建立 A/B 測試,請 與 Firebase 支援團隊聯絡。
AdMob
AdMob: 我可以將 Windows 應用程式連結至 Firebase 嗎?
否,目前不支援 Windows 應用程式。
AdMob:為什麼我無法從 Firebase 控制台將應用程式連結至 AdMob?
您可以透過 AdMob 控制台,將 AdMob 應用程式連結至 Firebase 應用程式。 瞭解詳情。
AdMob:我需要哪些權限或存取權,才能將 Firebase 應用程式連結至 AdMob 應用程式?
如要建立連結,您必須具備下列存取權:
- AdMob:您必須是 AdMob 管理員。
- Firebase:您必須具備
firebase.links.create
權限,這項權限包含在擁有者角色和 Firebase 管理員角色中。 - Google Analytics:對於與 Firebase 專案連結的資源,您必須是「編輯」或「管理使用者」角色。瞭解詳情。
AdMob:同一AdMob帳戶中的多位使用者可以連結AdMob應用程式和 Firebase 應用程式嗎?
如果是多使用者AdMob帳戶,只有建立第一個 Firebase 連結並接受Firebase 服務條款的使用者,才能在AdMob應用程式和 Firebase 應用程式之間建立新連結。
AdMob:如要使用 AdMob,應使用哪些 SDK?
如要使用 AdMob,請一律使用 Google Mobile Ads SDK,詳情請參閱這篇常見問題。此外,如要收集 AdMob 的使用者指標,請在應用程式中加入 Google Analytics 的 Firebase SDK。
- iOS 專案:
按照 AdMobiOS 說明文件中的操作說明,匯入 Google Mobile Ads SDK。 - Android 專案:
將 Google Mobile Ads SDK 的依附元件新增至build.gradle
檔案:
implementation 'com.google.android.gms:play-services-ads:24.4.0'
- C++ 專案和 Unity 專案:請按照相關說明文件中的指示操作。
數據分析
Analytics: 為什麼建議搭配使用 Google Analytics 和 Firebase 產品?
Google Analytics 是一款免費且無限制的數據分析解決方案,可與 Firebase 功能搭配使用,提供精闢的洞察資料。您可以在 Crashlytics 中查看事件記錄、在 FCM 中查看通知成效、在 Dynamic Links 中查看深層連結成效,以及在 Google Play 中查看應用程式內購資料。這項技術可支援Remote Config、Remote Config等進階指定目標對象和個人化功能。
Google Analytics 是 Firebase 管理中心的智慧層,可提供更多實用洞察資料,協助您開發優質應用程式、擴展使用者數量及提高收益。
如要開始使用,請參閱說明文件。
Analytics:如何控管 Analytics 資料與其他 Firebase 服務的共用方式?
根據預設,您的Google Analytics資料會用於改善其他 Firebase 和 Google 功能。您隨時可以在專案設定中控管Google Analytics資料的共用方式。進一步瞭解 資料共用設定。
Analytics:如何更新 Analytics 資源設定?
您可以透過 Google Analytics 資源的「管理」頁面更新資源設定,例如:
- 資料共用設定
- 資料保留設定
- 時區和貨幣設定
如要更新資源設定,請按照下列步驟操作:
- 在 Firebase 控制台中,依序前往 settings >「專案設定」。
- 前往「整合」分頁,然後在 Google Analytics 資訊卡中,按一下「管理」或「查看連結」。
- 按一下 Google Analytics 帳戶的連結,開啟帳戶和資源設定。
Analytics在 iOS 應用程式中進行裝置端評估:Analytics SDK 如何更新以支援裝置端轉換評估?我是否需要升級?
在我們發布更新,使用事件資料導入裝置端轉換評估前,開發人員必須手動納入多個 SDK 模組,才能使用裝置端評估功能,這相當耗時。因此,我們更新了現有的預設 SDK 模組 (FirebaseAnalytics
),納入 Google Ads 的裝置端轉換評估功能。
如果您安裝預設的 Google Analytics for Firebase iOS SDK,應用程式也能享有裝置端轉換評估功能。
如果已將 SDK 固定在特定版本,請更新至 11.14.0 以上版本,然後發布新版應用程式。
目標功能 | 舊模組 (SDK 版本 < 11.14.0) |
新模組 (SDK 版本 >= 11.14.0) |
---|---|---|
Analytics IDFA 裝置端轉換評估 (第一方資料) 裝置端轉換評估 (事件資料) |
不適用 | FirebaseAnalytics |
Analytics IDFA |
FirebaseAnalytics | FirebaseAnalytics/Core FirebaseAnalytics/IdentitySupport |
數據分析 | FirebaseAnalytics/WithoutAdIdSupport (已淘汰) | FirebaseAnalytics/Core |
Analytics
裝置端轉換評估 (第一方資料) |
FirebaseAnalytics/WithoutAdIdSupport (已淘汰) FirebaseAnalyticsOnDeviceConversion (已淘汰) |
FirebaseAnalytics/Core GoogleAdsOnDeviceConversion* |
Analytics IDFA 裝置端轉換評估 (第一方資料) |
FirebaseAnalytics (已淘汰) FirebaseAnalyticsOnDeviceConversion (已淘汰) |
FirebaseAnalytics* |
Analytics IDFA 裝置端轉換評估 (事件資料) |
不適用 | FirebaseAnalytics |
* - 這項設定也會包含裝置端轉換評估 (事件資料)。如有需要,您可以繼續使用已淘汰的獨立 FirebaseAnalyticsOnDeviceConversion
模組。
iOS 應用程式中的 Analytics:可以安裝 Analytics,但不要廣告歸因和廣告識別碼收集功能嗎?
可以,詳情請參閱「 設定資料收集和使用方式」頁面。
Analytics:2021 年 10 月更新後,Google Analytics 部分有哪些異動?
如要查看這些變更的摘要,請參閱 Firebase 說明中心文章「Google Analytics for Firebase 中的全新 Google Analytics 4 功能」。
Analytics:將 Firebase 與 Google Analytics 取消連結後,為什麼我在 Firebase 控制台中看不到任何 Analytics 資料?
Analytics 資料位於 Google Analytics 資源中,而非 Firebase 專案。如果刪除或取消連結資源,Firebase 就無法存取 Analytics 資料,且 Firebase 控制台會顯示空白的 Analytics 資訊主頁。請注意,由於資料仍保留在先前連結的資源中,因此您可以隨時將資源重新連結至 Firebase,並在 Firebase 控制台中查看 Analytics 資料。
如果將全新的 Google Analytics 帳戶 (以及新的 Google Analytics 資源) 連結至 Firebase 專案,Firebase 控制台的 Analytics 資訊主頁就會顯示空白畫面。不過,如果先前連結的資源仍存在,您可以將舊資源的現有資料移至新資源。
Analytics:如果我的 Analytics 資源和資料遭到刪除,有辦法復原嗎?
否。資源刪除後就無法復原,也無法擷取該資源先前收集的 Analytics 資料。
如要再次使用 Google Analytics,您可以將新資源或現有資源連結至 Firebase 專案。您可以在 Firebase 控制台或 Google Analytics 使用者介面中進行這項連結。進一步瞭解如何將 Google Analytics 資源連結至 Firebase 專案。
Analytics:如果 Analytics 資源已刪除,我可以將新的 Google Analytics 資源連結至 Firebase 專案,然後開始使用 Analytics 嗎?
如要再次使用 Google Analytics,您可以將新資源或現有資源連結至 Firebase 專案。您可以在 Firebase 控制台或 Google Analytics 使用者介面中進行這項連結。進一步瞭解如何將 Google Analytics 資源連結至 Firebase 專案。
請注意,由於所有 Analytics 資料都儲存在資源中 (而非 Firebase 專案),因此無法擷取先前收集的 Analytics 資料。
Analytics: 刪除 Analytics 資源後,Firebase 產品或整合的 Google 產品會受到什麼影響?
多項 Firebase 產品都仰賴 Google Analytics 整合。如果刪除 Analytics 資源及其資料,使用下列產品時會發生以下情況:
- Crashlytics:您無法再查看未受當機情況影響的使用者、階層連結記錄和/或當機風險驟升快訊。
- Cloud Messaging 和 In-App Messaging - 您無法再使用指定目標、廣告活動指標、目標對象區隔和 Analytics 標籤。
- Remote Config - 您無法再使用目標設定或個人化功能。
- A/B Testing - 實驗評估資料是由 Google Analytics 提供,因此您無法再使用 A/B Testing。
- Dynamic Links - 任何依賴 Google Analytics 資料的功能都會受到影響。
此外,下列整合功能也會受到影響:
- 您將無法再匯出Analytics資料至BigQuery。
- 您無法再使用 Google Ads 整合或 Google AdMob 整合。
Analytics:如何區隔未達到特定條件的使用者?
您可以「負向指定」這些使用者,重新架構問題。舉例來說,您可以將問題重新定義為「不要向已購買商品的使用者顯示廣告」,並建立這類使用者的目標對象。
Analytics:在 Google Analytics 介面中定義的目標對象和/或事件,是否也能在 Firebase 控制台中使用?
系統會同步處理目標對象和使用者屬性。部分功能需要透過 Google Analytics 介面使用,例如區隔和封閉式漏斗。您可以透過 Firebase 控制台的深層連結,直接存取 Google Analytics 介面。
您也可以在 Google Analytics 中進行從 Firebase 控制台所做的任何變更,而這些變更會反映在 Firebase 中。
Authentication
Firebase Authentication:哪些地區支援手機驗證?
Firebase Authentication 支援全球電話號碼驗證,但並非所有網路都能穩定傳送驗證訊息。下列地區的傳送成功率較高,因此預期手機驗證功能可正常運作。如附註所示,部分貨運公司在特定地區的遞送成功率偏低,因此無法提供服務。
區域 | 程式碼 |
---|---|
廣告 | 安道爾 |
AE | 阿拉伯聯合大公國 |
AF | 阿富汗 |
AG | 安地卡及巴布達 |
AL | 阿爾巴尼亞 |
上午 | 亞美尼亞 |
AO | 安哥拉 |
AR | 阿根廷 |
AS | 美屬薩摩亞 |
AT | 奧地利 |
AU | 澳洲 |
AW | 阿魯巴 |
AZ | 亞塞拜然 |
BA | 波士尼亞與赫塞哥維納 |
BB | 巴貝多 |
BD | 孟加拉 |
BE | 比利時 |
BF | 布吉納法索 |
BG | 保加利亞 |
BJ | 貝南 |
BM | 百慕達 |
BN | 汶萊 |
BO | 玻利維亞 |
巴西 | 巴西 |
BS | 巴哈馬 |
BT | 不丹 |
BW | 波札那 |
BY | 白俄羅斯 |
BZ | 貝里斯 |
CA | 加拿大 |
CD | 剛果 (金夏沙) |
CF | 中非共和國 |
CG | 剛果 (布拉薩) |
CH | 瑞士 |
CI | 象牙海岸 |
CK | 庫克群島 |
CL | 智利 |
CM | 喀麥隆 |
CO | 哥倫比亞 |
CR | 哥斯大黎加 |
CV | 維德角 |
CW | 古拉索 |
CY | 賽普勒斯 |
CZ | 捷克共和國 |
DE | 德國 |
DJ | 吉布地 |
丹麥 | 丹麥 |
DM | 多米尼克 |
DO | 多明尼加共和國 |
DZ | 阿爾及利亞 |
EC | 厄瓜多 |
EG | 埃及 |
ES | 西班牙 |
ET | 衣索比亞 |
FI | 芬蘭 |
FJ | 斐濟 |
FK | 福克蘭群島 (馬爾維納斯) |
FM | 密克羅尼西亞聯邦 |
FO | 法羅群島 |
FR | 法國 |
正式發布版 | 加彭 |
GB | 英國 |
GD | 格瑞那達 |
GE | 喬治亞 |
進球 | 法屬圭亞那 |
GG | 根息 |
GH | 迦納 |
GI | 直布羅陀 |
GL | 格陵蘭 |
總經理 | 甘比亞 |
GP | 瓜地洛普 |
GQ | 赤道幾內亞 |
GR | 希臘 |
GT | 瓜地馬拉 |
GY | 蓋亞那 |
HK | 中國香港特別行政區 |
HN | 宏都拉斯 |
人資 | 克羅埃西亞 |
HT | 海地 |
HU | 匈牙利 |
ID | 印尼 |
IE | 愛爾蘭 |
IL | 以色列 |
IM | 曼島 |
印度 | 印度 |
IQ | 伊拉克 |
IT | 義大利 |
JE | 澤西島 |
JM | 牙買加 |
JO | 約旦 |
日本 | 日本 |
KE | 肯亞 |
KG | 吉爾吉斯 |
KH | 柬埔寨 |
KM | 葛摩 |
KN | 聖克里斯多福及尼維斯 |
KR | 南韓 |
KW | 科威特 |
KY | 開曼群島 |
KZ | 哈薩克 |
LA | 寮國 |
LB | 黎巴嫩 |
LC | 聖露西亞 |
LI | 列支敦斯登 |
LK | 斯里蘭卡 |
LS | 賴索托 |
LT | 立陶宛 |
LU | 盧森堡 |
LV | 拉脫維亞 |
LY | 利比亞 |
MA | 摩洛哥 |
MD | 摩爾多瓦 |
ME | 蒙特內哥羅 |
MF | 聖馬丁 (法屬) |
MG | 馬達加斯加 |
MK | 馬其頓共和國 |
MM | 緬甸 |
MN | 蒙古 |
MO | 中國澳門特別行政區 |
MS | 蒙哲臘 |
MT | 馬爾他 |
MU | 模里西斯 |
MW | 馬拉威 |
MX | 墨西哥 |
MY | 馬來西亞 |
MZ | 莫三比克 |
不適用 | 納米比亞 |
NC | 新喀里多尼亞 |
東北 | 尼日 |
NF | 諾福克島 |
NG | 奈及利亞 |
NI | 尼加拉瓜 |
NL | 荷蘭 |
否 | 挪威 |
NP | 尼泊爾 |
NZ | 紐西蘭 |
OM | 阿曼 |
PA | 巴拿馬 |
PE | 秘魯 |
PG | 巴布亞紐幾內亞 |
PH | 菲律賓 |
PK | 巴基斯坦 |
PL | 波蘭 |
下午 | 聖皮埃與密克隆群島 |
PR | 波多黎各 |
PS | 巴勒斯坦領土 |
PT | 葡萄牙 |
PY | 巴拉圭 |
品質確保人員 | 卡達 |
RE | 留尼旺 |
RO | 羅馬尼亞 |
RS | 塞爾維亞 |
RU | 俄羅斯聯邦 |
RW | 盧安達 |
SA | 沙烏地阿拉伯 |
SC | 塞席爾 |
瑞典 | 瑞典 |
SG | 新加坡 |
SH | 聖赫勒拿島 |
SI | 斯洛維尼亞 |
SK | 斯洛伐克 |
SL | 獅子山 |
SN | 塞內加爾 |
SR | 蘇利南 |
ST | 聖多美普林西比 |
SV | 薩爾瓦多 |
SZ | 史瓦濟蘭 |
TC | 土克凱可群島 |
TG | 多哥 |
泰國 | 泰國 |
TL | 東帝汶 |
TM | 土庫曼 |
收件者 | 東加 |
TR | 土耳其 |
TT | 千里達及托巴哥 |
台灣 | 臺灣 |
TZ | 坦尚尼亞聯合共和國 |
通用 Analytics | 烏克蘭 |
UG | 烏干達 |
美國 | 美國 |
UY | 烏拉圭 |
UZ | 烏茲別克 |
VC | 聖文森及格瑞那丁 |
VE | 委內瑞拉 (玻利瓦共和國) |
VG | 英屬維京群島 |
VI | 美屬維京群島 |
VN | 越南 |
WS | 薩摩亞 |
YE | 葉門 |
YT | 馬約特 |
ZA | 南非 |
ZM | 尚比亞 |
ZW | 辛巴威 |
Firebase Authentication:Spark 方案的免費簡訊額度有什麼異動?
為提升電話號碼驗證的安全性與服務品質,自 2024 年 9 月起,Firebase 專案必須連結至 Cloud Billing 帳戶,才能啟用及使用簡訊服務。
Firebase Authentication:使用電話驗證時,如何防止簡訊濫用?
為保護專案免受垃圾簡訊和 API 濫用行為影響,請採取下列步驟:
考慮設定簡訊區域政策
-
尋找傳送簡訊數量非常高,但驗證簡訊數量非常低 (或為零) 的區域。驗證/傳送比率就是成功率。 由於簡訊並非保證送達的通訊協定,且部分地區可能會發生濫用情形,因此一般而言,成功率在 70% 至 85% 之間都算正常。如果成功率低於 50%,表示系統傳送了大量簡訊,但登入成功次數很少,這通常是惡意行為者和簡訊流量灌水活動的指標。
使用簡訊區域政策,拒絕成功率低的簡訊區域,或只允許特定區域 (如果應用程式僅適用於特定市場)。
限制授權驗證網域
使用驗證設定資訊主頁管理授權網域。系統預設會將 localhost
網域新增至核准的驗證網域,簡化開發作業。請考慮從正式專案的授權網域中移除 localhost
,以免惡意行為人在自己的 localhost
上執行程式碼,存取您的正式專案。
啟用並強制執行 App Check
啟用 App Check,確認要求只來自與專案相關聯的應用程式,有助於保護專案免於 API 濫用。
如要搭配 Firebase Authentication 使用應用程式檢查,請升級至 Firebase Authentication with Identity Platform。
請注意,您必須在 Firebase 控制台中強制執行驗證的 App Check (建議先監控流量,再強制執行)。此外,請仔細檢查 reCAPTCHA Enterprise 核准的網站清單,確認其中只包含正式版網站,並確認在 App Check 中向專案註冊的應用程式清單正確無誤。
請注意,App Check 會確認呼叫來自您註冊的應用程式,藉此防範自動攻擊。但無法防止使用者以非預期的方式使用應用程式 (例如啟動登入流程,但從未完成登入,藉此產生傳送的簡訊)。
Firebase Authentication:電話號碼轉移至新電信業者後,是否仍支援電話驗證?
目前,如果使用者在電信業者之間轉移號碼,所有簡訊都將無法傳送給這些使用者。目前沒有解決方法,Firebase 正在處理這個問題。
Firebase Authentication:在我的 Android 應用程式中,為什麼會收到以下錯誤訊息:
Google sign in failed
?
Google sign in failed
如果收到下列錯誤訊息,請按照這篇常見問題中的疑難排解步驟操作:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
確認已正確啟用 Google 登入做為驗證供應商:
在 Firebase 控制台中,開啟「Authentication」部分。
在「登入方式」分頁中,停用並重新啟用「Google」登入方式 (即使已啟用):
開啟「Google」登入方式,停用該方式,然後按一下「儲存」。
重新開啟「Google」登入方式,啟用該方式,然後按一下「儲存」。
請確認應用程式使用的是最新版 Firebase 設定檔 (
google-services.json
)。
取得應用程式的設定檔。確認是否仍會收到錯誤訊息。如果是,請繼續下一個疑難排解步驟。
確認必要的基礎 OAuth 2.0 用戶端存在。
如果沒有 OAuth 2.0 用戶端 (且您已完成上述所有疑難排解步驟),請與支援團隊聯絡。
Firebase Authentication:在 Apple 平台應用程式中,為什麼我會收到以下錯誤訊息:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
如果收到下列錯誤訊息,請按照這篇常見問題中的疑難排解步驟操作:
You must specify |clientID| in |GIDConfiguration|
確認已正確啟用 Google 登入做為驗證供應商:
在 Firebase 控制台中,開啟「Authentication」部分。
在「登入方式」分頁中,停用並重新啟用「Google」登入方式 (即使已啟用):
開啟「Google」登入方式,停用該方式,然後按一下「儲存」。
重新開啟「Google」登入方式,啟用該方式,然後按一下「儲存」。
請確認應用程式使用的是最新版 Firebase 設定檔 (
GoogleService-Info.plist
)。
取得應用程式的設定檔。確認是否仍會收到錯誤訊息。如果是,請繼續下一個疑難排解步驟。
確認必要的基礎 OAuth 2.0 用戶端存在。
如果沒有 OAuth 2.0 用戶端 (且您已完成上述所有疑難排解步驟),請與支援團隊聯絡。
Firebase Authentication:為什麼我在網頁應用程式中會收到下列錯誤訊息:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
如果收到下列錯誤訊息,請按照這篇常見問題中的疑難排解步驟操作:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
確認已正確啟用 Google 登入做為驗證供應商:
在 Firebase 控制台中,開啟「Authentication」部分。
在「登入方式」分頁中,停用並重新啟用「Google」登入方式 (即使已啟用):
開啟「Google」登入方式,停用該方式,然後按一下「儲存」。
重新開啟「Google」登入方式,啟用該方式,然後按一下「儲存」。
此外,在「Google」登入供應商設定的「Authentication」部分,請確認 OAuth 用戶端 ID 和密鑰與 Google Cloud 控制台「憑證」頁面中顯示的網頁用戶端相符 (請查看「OAuth 2.0 用戶端 ID」部分)。
Firebase Authentication:在我的網頁應用程式中,為什麼使用重新導向登入會失敗,並顯示以下錯誤訊息:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
如果收到下列錯誤訊息,請按照這篇常見問題中的疑難排解步驟操作:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
如果您的重新導向網域未列為 Firebase Authentication 的授權網域,或是您搭配 Firebase Authentication 服務使用的 API 金鑰無效,就很有可能發生這個錯誤。
首先,請確認 YOUR_REDIRECT_DOMAIN 已列入 Firebase 專案的授權網域清單。如果重新導向網域已列於該處,請繼續排解 API 金鑰無效的問題。
根據預設,Firebase Authentication JS SDK 會依賴 Firebase 專案中標示為 Browser key
的 API 金鑰,並使用這個金鑰驗證登入重新導向網址是否有效 (根據授權網域清單)。Authentication 會根據您存取 Authentication SDK 的方式取得這個 API 金鑰:
如果您使用 Hosting 提供的 Auth 輔助程式,透過 Authentication JS SDK 登入使用者,Firebase 會在您每次部署至 Firebase Hosting 時,自動取得 API 金鑰和其餘 Firebase 設定。請確認
authDomain
網頁應用程式firebaseConfig
已正確設定,可使用該 Hosting 網站的其中一個網域。如要驗證,請前往https://authDomain__/firebase/init.json
,並確認projectId
與firebaseConfig
中的相符。如果您自行代管登入程式碼,可以使用
__/firebase/init.json
檔案,將 Firebase 設定提供給自行代管的 Authentication JS SDK 重新導向輔助程式。這個設定檔中列出的 API 金鑰和projectId
應與網頁應用程式firebaseConfig
相符。
確認 API 金鑰未遭刪除:前往 Google Cloud 控制台的「APIs & Services」(API 和服務) >「Credentials」(憑證) 面板,即可查看專案的所有 API 金鑰。
如果
Browser key
未刪除,請檢查下列事項:確認 Firebase Authentication API 位於金鑰可存取的允許 API 清單中 (進一步瞭解 API 金鑰的 API 限制)。
如果您自行代管登入程式碼,請確認
__/firebase/init.json
檔案中列出的 API 金鑰與 Cloud 控制台中的 API 金鑰相符。視需要修正檔案中的金鑰,然後重新部署應用程式。如果
Browser key
已刪除,您可以讓 Firebase 為您產生新的 API 金鑰:在 Firebase 控制台中,依序前往 settings >「專案設定」,然後在「您的應用程式」部分中,按一下您的網頁應用程式。這項操作會自動建立 API 金鑰,您可以在網頁應用程式的「SDK 設定和配置」部分中查看。
請注意,在 Cloud 控制台中,這個新 API 金鑰不會稱為
Browser key
,而是與 Firebase Web 應用程式的暱稱相同。如果您決定對這個新 API 金鑰新增 API 限制,請務必將 Firebase Authentication API 加入允許的 API 清單。建立新的 API 金鑰後,請完成下列適用步驟:
如果您使用保留的 Hosting URL,請將應用程式重新部署至 Firebase,這樣應用程式就能自動取得新的 API 金鑰和其餘 Firebase 設定。
如果自行代管登入程式碼,請複製新的 API 金鑰並加進
__/firebase/init.json
檔案,然後重新部署應用程式。
Firebase Authentication: 如何手動建構 OAuth 網頁用戶端?
開啟 Google Cloud 控制台的「憑證」頁面。
在頁面頂端,依序選取「建立憑證」>「OAuth 用戶端 ID」。
如果系統提示您設定同意畫面,請按照畫面上的指示操作,然後繼續執行本常見問題中的後續步驟。
建立 OAuth 網路用戶端:
「應用程式類型」請選取「網頁應用程式」。
在「已授權的 JavaScript 來源」中,新增下列項目:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
針對「已授權的重新導向 URI」,請新增下列項目:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
儲存 OAuth 用戶端。
將新的 OAuth 用戶端 ID 和用戶端密鑰複製到剪貼簿。
在 Firebase 控制台中,開啟「Authentication」部分。
在「登入方法」分頁中,開啟「Google 登入」供應商,然後貼上您剛從 Google Cloud 控制台建構及複製的網頁伺服器用戶端 ID 和密鑰。按一下「儲存」。
Firebase Authentication:使用者透過電子郵件地址和密碼註冊時,系統會傳送確認電子郵件,請問該電子郵件範本的 %APP_NAME%
是如何判斷?
2022 年 12 月前,每當 Android 應用程式在 Firebase 專案中註冊時,系統會自動佈建 OAuth 品牌名稱,並填入電子郵件範本中的 %APP_NAME%
。現在,只有在啟用 Google 登入時,系統才會佈建 OAuth 品牌,因此以下說明如何判斷 %APP_NAME%
:
如果 OAuth 品牌名稱可用,電子郵件範本中的
%APP_NAME%
就會是 OAuth 品牌名稱 (與 2022 年 12 月前的行為相同)。如果 OAuth 品牌名稱無法使用,系統會依下列方式決定電子郵件範本中的
%APP_NAME%
:網頁應用程式的
%APP_NAME%
會是預設 Firebase Hosting 網站名稱 (.firebaseapp.com
和.web.app
前面的值,通常是 Firebase 專案 ID)。行動應用程式:
如果要求中包含 Android 套件名稱或 iOS 軟體包 ID,則
%APP_NAME%
會是 Play 商店或 App Store 中使用的應用程式名稱 (視情況而定)。否則
%APP_NAME%
會是預設Firebase Hosting網站名稱 (.firebaseapp.com
和.web.app
前面的值,通常是 Firebase 專案 ID)。
請注意,如果預設 Firebase Hosting 網站名稱的查詢失敗,最終備用方案是使用 Firebase 專案 ID 做為
%APP_NAME%
。
Cloud Functions
Cloud Functions 執行階段支援
如何升級至最新支援的 Node.js 版本?
- 確認您已採用 Blaze定價方案。
- 請確認您使用的是最新版 Firebase CLI。
- 更新函式
package.json
中的engines
欄位。 - 您也可以選擇使用 Firebase Local Emulator Suite 測試變更。
- 重新部署所有函式。
如何確保我將函式部署至特定 Node.js 執行階段?
在 Firebase 控制台中,前往函式資訊主頁,選取函式,然後在「Additional details」(其他詳細資料) 下方查看函式的語言。
我使用 Firebase Extensions。Cloud Functions 執行階段更新會對我造成影響嗎?
可以,由於擴充功能使用 Cloud Functions,因此擴充功能的執行階段必須與 Cloud Functions 同步更新。
建議您定期更新專案中安裝的每個擴充功能,確保使用最新版本。您可以透過 Firebase 控制台或 Firebase CLI 升級專案的擴充功能。
Cloud Functions 定價
為什麼使用 Cloud Functions for Firebase 需要帳單帳戶?
Cloud Functions for Firebase 依賴部分付費 Google 服務。使用 Firebase CLI 11.2.0 以上版本部署新函式時,會用到 Cloud Build 和 Artifact Registry。部署至舊版時,Cloud Build 的使用方式相同,但會依賴 Container Registry 和 Cloud Storage 進行儲存,而非 Artifact Registry。使用這些服務時,系統會根據現行定價額外收費。
Firebase CLI 11.2.0 以上版本的儲存空間
Artifact Registry 提供函式執行的容器。Artifact Registry 提供前 500 MB 的免費額度,因此首次部署函式時可能不會產生任何費用。超過這個門檻後,每額外 1 GB 的儲存空間每月將收取 $0.10 美元。
Firebase CLI 11.1.x 和舊版的儲存空間
對於部署至舊版的函式,Container Registry 提供函式執行的容器。部署函式時,系統會針對每個容器向您收費。您可能會發現系統會針對儲存的每個容器收取少量費用,例如 1 GB 的儲存空間每月費用為 $0.026 美元。
如要進一步瞭解帳單可能出現的異動,請參閱下列
- Cloud Functions 定價:現有的免付費方案維持不變。
- Cloud Build 定價: Cloud Build 提供免付費方案。
- Artifact Registry 定價。
- Container Registry 定價。
Cloud Functions for Firebase 是否仍提供免付費用量?
可以,在 Blaze 方案中,Cloud Functions 提供免付費方案,適用於叫用次數、運算時間和網際網路流量。每月享有免費 2,000,000 次叫用、400,000 GB/秒、200,000 CPU 使用秒數和 5 GB 的網際網路輸出流量。你只需要為超過門檻的用量付費。
前 500 MB 的儲存空間免付費,之後每次部署作業都會產生少量費用,用於支付函式容器所用的儲存空間。如果開發程序需要部署函式進行測試,您可以在開發期間使用 Firebase Local Emulator Suite,進一步降低成本。
請參閱 Firebase 定價方案和Cloud Functions定價範例情境。
Firebase 是否打算提高 Cloud Functions for Firebase 的配額和限制?
不會。我們沒有變更配額的計畫,但會移除建構時間上限;達到每日 120 分鐘的建構配額時,您不會收到錯誤或警告,而是會根據 Blaze 定價方案的條款付費。請參閱「配額與限制」。
我可以獲得 $300 美元的抵免額嗎?Google Cloud
可以,您可以在 Google Cloud 控制台中建立 Cloud Billing 帳戶,取得 $300 美元抵免額,然後將該 Cloud Billing 帳戶連結至 Firebase 專案。
如要進一步瞭解Google Cloud抵免額 ,請按這裡。
請注意,如果這麼做,您必須在 Firebase 控制台中設定 Blaze 定價方案,專案才能在 $300 美元抵免額用完後繼續運作。
我想透過程式碼研究室瞭解 Firebase。可以提供臨時帳單帳戶嗎?
很抱歉,您可以使用 Firebase 模擬器進行開發,不必擁有 Cloud Billing 帳戶。或者,也可以申請Google Cloud免費試用。如果因為這項異動而無法支付帳單,請與 Firebase 支援團隊聯絡。
我擔心會產生巨額帳單。
您可以在 Google Cloud 控制台中設定預算快訊,協助控管費用。此外,您也可以為每個函式建立的計費執行個體數量設定上限。如要瞭解一般情境的費用,請參閱 Cloud Functions 定價示例。
如何查看目前的帳單費用?
我使用 Firebase Extensions。我需要帳單帳戶嗎?
可以,由於擴充功能使用 Cloud Functions,因此擴充功能會與其他函式一樣產生費用。
如要使用擴充功能,請升級至 Blaze 定價方案。除了使用 Firebase 服務而產生的所有費用之外,每當您安裝擴充功能,就必須為其耗用的 Firebase 資源支付小額費用 (通常每月約 $0.01 美元),即便擴充功能處於閒置狀態也一樣。
Cloud Messaging
Cloud Messaging:通知撰寫工具與 Cloud Messaging 有何不同?
Firebase Cloud Messaging 透過用戶端 SDK 和 HTTP 伺服器通訊協定,提供完整的訊息功能。如果部署作業的訊息傳送需求較為複雜,FCM 就是合適的選擇。
通知撰寫器是以 Firebase Cloud Messaging 為基礎建構的輕量型無伺服器訊息解決方案。通知撰寫器提供簡單易用的圖形化控制台,並減少編碼需求,讓使用者輕鬆傳送訊息,重新吸引及留住使用者、促進應用程式成長,並支援行銷活動。
功能 | 通知編輯器 | Cloud Messaging | |
---|---|---|---|
目標 | 單一裝置 | ||
已訂閱主題的用戶端 (例如天氣) | |||
預先定義使用者區隔中的用戶端 (應用程式、版本、語言) | |||
指定 Analytics 目標對象中的用戶端 | |||
裝置群組中的用戶端 | |||
從用戶端到伺服器的上游 | |||
訊息類型 | 通知最多 2 KB | ||
最多 4 KB 的資料訊息 | |||
廣告放送 | 立即 | ||
未來用戶端裝置的當地時間 | |||
數據分析 | 內建通知分析集合與漏斗分析 |
Cloud Messaging:Apple 宣布將淘汰 APN 的舊版二進位通訊協定。我需要做些什麼嗎?
否。Firebase Cloud Messaging已在 2017 年改用以 HTTP/2 為基礎的 APNs 通訊協定。如果您使用 FCM 將通知傳送至 iOS 裝置,則無須採取任何行動。
Cloud Messaging: 我是否需要使用其他 Firebase 服務,才能使用 FCM?
您可以像使用 GCM 一樣,將 Firebase Cloud Messaging 當做獨立元件使用,不必使用其他 Firebase 服務。
Cloud Messaging:我是現有的 Google Cloud Messaging (GCM) 開發人員。我應該改用 Firebase Cloud Messaging 嗎?
FCM 是 Firebase 品牌下的新版 GCM。 Firebase Cloud Messaging 沿用 GCM 的核心基礎架構,並提供新的 SDK,讓 Cloud Messaging 開發作業更輕鬆。
升級至 FCM SDK 的好處包括:
- 簡化用戶端開發作業。您不必再自行編寫註冊或訂閱重試邏輯。
- 立即可用的通知解決方案。您可以使用通知撰寫工具,這是一項無伺服器通知解決方案,提供網頁控制台,讓任何人都能根據 Google Analytics 的洞察資料,向特定目標對象傳送通知。
Cloud Messaging: 為什麼指定裝置似乎無法接收訊息?
如果裝置似乎未成功接收訊息,請先檢查以下兩個可能原因:
處理通知訊息的前景訊息。 用戶端應用程式必須新增訊息處理邏輯,才能在應用程式位於裝置前景時處理通知訊息。請參閱 iOS 和 Android 的詳細說明。
網路防火牆限制。如果貴機構的防火牆會限制網際網路的流量,您必須設定防火牆,允許與 FCM 連線,Firebase Cloud Messaging 用戶端應用程式才能接收訊息。需要開啟的通訊埠如下:
- 5228
- 5229
- 5230
FCM 通常使用 5228,但有時會使用 5229 和 5230。 FCM 不會提供特定 IP,因此請允許防火牆接受對外連線至 Google ASN 15169 所列 IP 區塊中的所有 IP 位址。
Cloud Messaging:我在 Android 應用程式中實作了
onMessageReceived
,但系統並未呼叫該函式。
應用程式在背景執行時,系統匣會顯示
通知訊息,且不會呼叫 onMessageReceived
。如果是含有資料酬載的通知訊息,系統匣會顯示通知訊息,使用者輕觸通知時啟動的 Intent 則會擷取通知訊息隨附的資料。
詳情請參閱「接收及處理訊息」。
Cloud Messaging:為什麼應用程式向 FCM 註冊時會收到「Invalid argument for the given fid」?
FID (Firebase 安裝 ID) 是應用程式執行個體的 ID。如果應用程式執行個體的安裝資料是從備份還原,FCM 會傳回這項錯誤,表示 FID 已由其他應用程式執行個體佔用,因此目前的應用程式執行個體無法使用 FID 向 FCM 註冊。
建議開發人員在應用程式中採取下列做法:
- 排除備份中的 Firebase 安裝資料。Firebase 安裝資料會儲存在
PersistedInstallation....json
檔案中。檔案名稱是應用程式的常數。例如<exclude domain="file" path="PersistedInstallation....json" />
。 - 如果收到「Invalid argument for the given fid」錯誤,請刪除
PersistedInstallation....json
檔案。下次應用程式向 FCM 註冊時,系統會建立新的 FID。
通知撰寫器:我是現有的 Google Cloud Messaging (GCM) 開發人員,想使用通知撰寫器。該怎麼做?
通知撰寫工具是現成的解決方案,可讓任何人根據 Google Analytics 的洞察資料,傳送通知給特定目標對象。此外,通知撰寫工具還會提供每則訊息的漏斗分析,方便您評估通知成效。
如果您是現有的 GCM 開發人員,如要使用通知撰寫工具,請從 GCM SDK 升級至 FCM SDK。請參閱Android 和 iOS 應用程式的遷移指南。
FCM 配額與限制
如何 2 分鐘內通知大量顧客?
很抱歉,我們無法支援這個用途。你必須在 5 分鐘內分散流量。
我的應用程式會通知使用者活動,且必須立即傳送這些訊息,才能支援我的商業模式。我可以取得更多配額嗎?
很抱歉,我們無法因此核准配額增加要求。你必須在 5 分鐘內分散流量。
我的訊息與預定活動有關。如何在一小時的開頭傳送所有流量?
建議您在活動開始前至少 5 分鐘傳送通知。
配額要求需要多久時間才能獲得核准?
這取決於您使用 FCM 的方式。 無論如何,我們會在幾個工作天內回覆您。在某些情況下,我們可能會針對您使用 FCM 的情形和各種情況來回溝通,這可能會延長程序。如果符合所有規定,大多數要求會在 2 週內處理完畢。
如何監控配額使用量?
請參閱 Google Cloud 指南,瞭解如何繪製配額指標圖表並監控配額指標。
我 / 我的商家難以處理 429 錯誤。我可以申請豁免或取得更多配額,避免收到 429 錯誤嗎?
我們瞭解配額限制可能會造成不便,但配額對於維持服務穩定性至關重要,因此無法提供豁免。
我可以為臨時活動取得更多配額嗎?
如要支援最多 1 個月的活動,可以申請額外配額。請在活動開始前至少 1 個月提出要求,並清楚說明活動開始和結束時間,FCM 會盡一切努力滿足要求 (但無法保證會增加配額)。活動結束後,這些配額增量將會還原。
我目前的配額會變更嗎?
Google 不會輕易變更配額,但為保護系統的完整性,我們可能會視需要變更配額。Google 會盡可能提前通知您這類異動。
Cloud Storage for Firebase
Cloud Storage for Firebase: 2024 年 9 月宣布的預設值區異動內容為何?
請參閱 Cloud Storage 說明文件,進一步瞭解預設 Cloud Storage 值區的變更。
Cloud Storage for Firebase:為什麼我無法使用 Cloud Storage for Firebase?
Cloud Storage for Firebase 會在 App Engine 免付費層級中建立預設值區。這樣一來,您就能快速開始使用 Firebase 和 Cloud Storage for Firebase,不必輸入信用卡資訊或啟用 Cloud Billing 帳戶。您也可以藉此在 Firebase 和 Google Cloud 專案之間輕鬆共用資料。
不過,有兩種已知情況無法建立這個值區,因此您無法使用 Cloud Storage for Firebase:
- 從 Google Cloud 匯入的專案,其中包含 App Engine 主機/從機 Datastore 應用程式。
-
從 Google Cloud 匯入的專案,其中包含以網域為前置字元的專案。例如:
domain.com:project-1234
。
目前沒有這些問題的解決方法,建議您在 Firebase 控制台中建立新專案,並在該專案中啟用 Cloud Storage for Firebase。
Cloud Storage for Firebase:使用 Cloud Storage for Firebase API 時,為何會收到有關服務帳戶權限和服務帳戶作業失敗的錯誤代碼 412 回應?
您可能因為Cloud Storage for Firebase API 未在專案中啟用,或是必要的服務帳戶缺少必要權限,而收到 412 錯誤代碼。
請參閱相關的常見問題。
Cloud Storage for Firebase:在 Spark 方案專案中,我可以儲存可執行的檔案嗎?
對於免付費 (Spark) 方案專案,Firebase 會透過 Cloud Storage for Firebase 和 Firebase Hosting 封鎖 Windows、Android 和 Apple 的特定可執行檔類型上傳和託管作業。這項政策旨在防止平台遭到濫用。
2023 年 9 月 28 日起,凡是當天或之後建立的 Spark 專案,都無法提供、託管或上傳不允許的檔案。如果現有 Spark 專案是在該日期前上傳檔案,這些檔案仍可上傳及託管。
這項限制適用於 Spark 方案專案。採用即付即用 (Blaze) 方案的專案不受影響。
下列檔案類型無法在 Firebase Hosting 和 Cloud Storage for Firebase 上代管:
- 副檔名為
.exe
、.dll
和.bat
的 Windows 檔案 - 副檔名為
.apk
的 Android 檔案 - 副檔名為
.ipa
的 Apple 平台檔案
我需要採取什麼行動?
如果 2023 年 9 月 28 日後仍想託管這類檔案,請按照下列步驟操作:
- 如要使用 Hosting 服務,請先升級至 Blaze 方案,才能透過
firebase deploy
指令將這些檔案類型部署至 Firebase Hosting。 - 儲存空間:升級至 Blaze 方案,即可使用 GCS CLI、Firebase 控制台或 Google Cloud 控制台,將這些檔案類型上傳至所選 bucket。
使用 Firebase 工具管理 Firebase Hosting 和 Cloud Storage 資源。
- 如要管理 Firebase Hosting 中的資源,請使用 Firebase 控制台按照本指南刪除版本。
- 如要在 Cloud Storage 中管理資源,請前往專案中的「Storage」(儲存空間) 產品頁面。
- 在「檔案」分頁中,找出資料夾階層中要刪除的違規檔案,然後使用面板左側檔案名稱旁的核取方塊選取檔案。
- 按一下「Delete」(刪除),並確認檔案已刪除。
如要進一步瞭解如何管理,請參閱 使用 Firebase 工具管理 Hosting 資源和使用用戶端程式庫管理 Cloud Storage for Firebase 儲存空間。
Cloud Storage for Firebase:為什麼上傳和下載作業會意外增加?
先前,系統無法正確計算 Cloud Storage for Firebase API 的下載和上傳要求。我們已採取行動修正這項問題,並於 2023 年 9 月 15 日開始實施。
如果是 Blaze 方案使用者,上傳和下載作業會開始計入月結單。Spark 使用者會開始計入每月免費額度。
建議您監控「用量」頁面,查看是否有任何可能計入限制的用量增加。
Cloud Storage for Firebase:為什麼我會看到與使用 Cloud Storage for Firebase 的 Firebase 專案相關聯的新服務帳戶 ID?
Firebase 會使用服務帳戶運作及管理服務,不會分享使用者憑證。建立 Firebase 專案時,您可能會發現專案中已有數個服務帳戶。
Cloud Storage for Firebase 使用的服務帳戶會限定在您的專案範圍內,並命名為 service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
。
如果您在 2022 年 9 月 19 日前使用 Cloud Storage for Firebase,先前連結的 Cloud Storage bucket 可能會顯示名為 firebase-storage@system.gserviceaccount.com
的額外服務帳戶。自 2022 年 9 月 19 日起,我們將停止支援這個服務帳戶。
您可以在 Firebase 控制台的「服務帳戶」分頁中,查看與專案相關聯的所有服務帳戶。
新增服務帳戶
如果先前已移除服務帳戶,或專案中沒有服務帳戶,請採取下列任一做法新增帳戶。
- (建議) 自動:使用 AddFirebase REST 端點,將 bucket 重新匯入 Firebase。您只需要呼叫這個端點一次,不必為每個連結的 bucket 各呼叫一次。
-
手動:按照「建立及管理服務帳戶」一文中的步驟操作。
按照該指南的說明,新增具有 IAM 角色
Cloud Storage for Firebase Service Agent
的服務帳戶,以及服務帳戶名稱service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
。
移除新的服務帳戶
我們強烈建議不要移除服務帳戶,因為這可能會導致應用程式無法存取 Cloud Storage 值區。如要從專案中移除服務帳戶,請按照「停用服務帳戶」一文中的操作說明進行。
Cloud Storage for Firebase 定價
Cloud Storage for Firebase:2024 年 9 月宣布的Cloud Storage價格方案規定異動內容為何?
如何預測上傳和下載作業的費用?
前往 Firebase 定價頁面,然後使用 Blaze 方案計算機。計算機列出 Cloud Storage for Firebase 的所有用量類型。
使用滑桿輸入儲存空間值區的預期用量。計算機將估算每月帳單費用。
如果超出 Spark 方案的Cloud Storage for Firebase上傳、下載或儲存空間限制,會發生什麼情況?
如果 Spark 方案專案的 Cloud Storage 超出限制,結果會因超出限制的類型而異:
- 如果超過儲存的 GB 數上限,您就無法在該專案中儲存更多資料,除非移除部分儲存的資料,或升級至提供更多儲存空間或無限儲存空間的方案。
- 如果超出下載的 GB 數上限,除非升級至限制較少或沒有限制的方案,否則應用程式將無法下載更多資料,直到隔天 (美國太平洋時間午夜起)。
- 如果超出上傳或下載作業限制,應用程式就無法上傳或下載更多資料,直到隔天 (美國太平洋時間午夜起) 為止。如要解除限制,請升級至限制較寬鬆或沒有限制的方案。
Crashlytics
如需實用提示和更多常見問題的解答,請前往Crashlytics疑難排解與常見問題頁面。
Dynamic Links
Dynamic Links:Firebase 對 Dynamic Links 有什麼未來計畫?
Dynamic Links:為什麼我的 Android 應用程式會存取每個動態連結兩次?
getInvitation
API 會清除已儲存的動態連結,避免重複存取。請務必在每個深層連結活動中,將 autoLaunchDeepLink
參數設為 false
,藉此呼叫這個 API,以便在活動於主要活動外部觸發時清除該參數。
Hosting
Hosting:在 Spark 方案專案中,我可以儲存可執行的檔案嗎?
對於免付費 (Spark) 方案專案,Firebase 會透過 Cloud Storage for Firebase 和 Firebase Hosting 封鎖 Windows、Android 和 Apple 的特定可執行檔類型上傳和託管作業。這項政策旨在防止平台遭到濫用。
2023 年 9 月 28 日起,凡是當天或之後建立的 Spark 專案,都無法提供、託管或上傳不允許的檔案。如果現有 Spark 專案是在該日期前上傳檔案,這些檔案仍可上傳及託管。
這項限制適用於 Spark 方案專案。採用即付即用 (Blaze) 方案的專案不受影響。
下列檔案類型無法在 Firebase Hosting 和 Cloud Storage for Firebase 上代管:
- 副檔名為
.exe
、.dll
和.bat
的 Windows 檔案 - 副檔名為
.apk
的 Android 檔案 - 副檔名為
.ipa
的 Apple 平台檔案
我需要採取什麼行動?
如果 2023 年 9 月 28 日後仍想託管這類檔案,請按照下列步驟操作:
- 如要使用 Hosting 服務,請先升級至 Blaze 方案,才能透過
firebase deploy
指令將這些檔案類型部署至 Firebase Hosting。 - 儲存空間:升級至 Blaze 方案,即可使用 GCS CLI、Firebase 控制台或 Google Cloud 控制台,將這些檔案類型上傳至所選 bucket。
使用 Firebase 工具管理 Firebase Hosting 和 Cloud Storage 資源。
- 如要管理 Firebase Hosting 中的資源,請使用 Firebase 控制台按照本指南刪除版本。
- 如要在 Cloud Storage 中管理資源,請前往專案中的「Storage」(儲存空間) 產品頁面。
- 在「檔案」分頁中,找出資料夾階層中要刪除的違規檔案,然後使用面板左側檔案名稱旁的核取方塊選取檔案。
- 按一下「Delete」(刪除),並確認檔案已刪除。
如要進一步瞭解如何管理,請參閱 使用 Firebase 工具管理 Hosting 資源和使用用戶端程式庫管理 Cloud Storage for Firebase 儲存空間。
Hosting:為什麼 Firebase 控制台中的 Hosting 發布記錄表顯示的檔案數量,比我本機專案實際擁有的檔案數量還多?
Firebase 會自動新增包含 Hosting 網站中繼資料的額外檔案,這些檔案會計入發布版本的總檔案數。
Hosting:我可以部署到 Firebase Hosting 的檔案大小上限為何?
Hosting 的個別檔案大小上限為 2 GB。
建議使用 Cloud Storage 儲存較大的檔案,因為個別物件的大小上限可達 TB 範圍。
Hosting: 每個 Firebase 專案最多可以有幾個 Hosting 網站?
Firebase Hosting多網站功能每個專案最多支援 36 個網站。
Performance Monitoring
如需實用提示和更多常見問題的解答,請前往Performance Monitoring疑難排解與常見問題頁面。
Performance Monitoring:我可以建立多少個自訂網址模式?
每個應用程式最多可建立 400 個自訂網址模式,每個網域最多可建立 100 個自訂網址模式。
Performance Monitoring: 為什麼我沒有看到即時顯示的成效資料?
如要查看即時效能資料,請確保應用程式使用的 SDK 版本與即時資料處理功能相容。Performance Monitoring
- iOS - v7.3.0 以上版本
- tvOS:8.9.0 以上版本
- Android - 19.0.10 以上版本 (或 Firebase Android BoM 26.1.0 以上版本)
- 網頁 - 7.14.0 以上版本
請注意,我們一律建議使用最新版 SDK,但只要是上述列出的版本,Performance Monitoring 就能近乎即時地處理您的資料。
Realtime Database
Realtime Database:什麼是「同步資料庫連線」?
同時連線是指連線至資料庫的行動裝置、瀏覽器分頁或伺服器應用程式。Firebase 會對應用程式資料庫的同時連線數設下硬性限制。這些限制旨在保護 Firebase 和使用者免於濫用行為。
Spark 方案的上限為 100,無法提高。Flame 和 Blaze 方案的每個資料庫,同時連線數上限為 200,000 個。
這項限制與應用程式的使用者總數不同,因為使用者不會同時連線。如果需要超過 200,000 個並行連線,請參閱「 使用多個資料庫進行擴充」。
Realtime Database: Realtime Database 的縮放限制為何?
每個 Realtime Database 執行個體每秒的寫入作業數都有上限。如果是小型寫入作業,這個限制大約是每秒 1000 次寫入作業。如果即將達到這個上限,建議 使用多路徑更新批次處理作業,以提高輸送量。
此外,每個資料庫執行個體同時連線的資料庫數量都有上限。 預設限制相當寬鬆,大多數應用程式都不受影響。 如果您建構的應用程式需要額外擴充,可能需要將應用程式分散到多個資料庫執行個體,以增加擴充規模。您也可以考慮使用 Cloud Firestore 做為替代資料庫。
Realtime Database:如果超出 Realtime Database 用量限制,該怎麼辦?
如果您收到電子郵件快訊,或在 Firebase 控制台中收到通知,指出您已超過 Realtime Database 用量限制,請根據您超過的用量限制採取適當行動。如要查看 Realtime Database 用量,請前往 Firebase 控制台的「Realtime Database 用量」資訊主頁。
如果超過下載限制,可以升級 Firebase 定價方案,或等到下個帳單週期開始時,下載限制重設。如要減少下載次數,請嘗試下列步驟:
- 新增查詢,限制監聽作業傳回的資料。
- 檢查是否有未建立索引的查詢。
- 使用只會下載資料更新的監聽器,例如
on()
而非once()
。 - 使用安全規則封鎖未經授權的下載行為。
如果儲存空間已用盡,請升級價格方案,以免服務中斷。如要減少資料庫中的資料量,請嘗試下列步驟:
- 執行定期清理工作。
- 減少資料庫中的重複資料。
請注意,系統可能需要一段時間,才會在儲存空間配額中反映資料刪除作業。
如果同時連線的資料庫數量超過上限,請升級方案,避免服務中斷。如要管理資料庫的同步連線,請嘗試透過 REST API 連線,使用者不需要即時連線時即可使用。
Realtime Database:如果我超出 Spark 方案的儲存空間或下載限制,會發生什麼情況? Realtime Database
為提供可預測的價格,Spark 方案的可用資源設有上限。也就是說,如果應用程式在任何一個月超出方案限制,系統就會關閉應用程式,避免進一步使用資源和產生額外費用。
Realtime Database:如果超過 Realtime Database 的 Spark 方案連線數上限,會發生什麼情況?
如果應用程式在 Spark 方案中達到並行連線數上限,系統會拒絕後續連線,直到關閉部分現有連線為止。應用程式仍可繼續為已連線的使用者提供服務。
Realtime Database:什麼是自動備份?你們是否提供 Realtime Database 的每小時備份服務?
自動備份是進階功能,適用於採用 Blaze 定價方案的客戶,每天備份 Firebase Realtime Database 資料一次,並上傳至 Google Cloud Storage。
我們不提供每小時備份。
Realtime Database:為什麼 2016 年 9 月至 2017 年 3 月期間,我的Realtime Database回報頻寬低於平均值?
在計算頻寬時,我們通常會納入 SSL 加密負荷 (根據 OSI 模型的第 5 層)。不過,我們在 2016 年 9 月導入的錯誤,導致頻寬報表忽略加密額外負荷。這可能導致帳戶中回報的頻寬和帳單費用在幾個月內偏低。
我們已在 2017 年 3 月底修正這項錯誤,頻寬報表和帳單也恢復正常。
Remote Config
Remote Config:為什麼擷取的值不會變更應用程式的行為和外觀?
除非使用 fetchAndActivate()
擷取值,否則值會儲存在本機,但不會啟用。如要啟用擷取的值,使其生效,請呼叫 activate
。這個設計可讓您控制應用程式行為和外觀的變更時間,因為您可以選擇何時呼叫 activate
。呼叫 activate
後,應用程式的原始碼會決定何時使用更新的參數值。
舉例來說,您可以擷取值,然後在使用者下次啟動應用程式時啟用這些值,這樣應用程式就不必等待服務擷取值,進而延遲啟動。應用程式使用更新後的參數值時,就會發生應用程式行為和外觀的變化。
如要進一步瞭解遠端設定 API 和使用模式,請參閱遠端設定 API 總覽。
Remote Config:開發應用程式時,我發出了許多擷取要求。為什麼應用程式傳送擷取要求時,不一定會從服務取得最新值?
在應用程式開發期間,您可能需要頻繁擷取及啟用設定 (每小時多次),以便在開發及測試應用程式時快速疊代。如要在專案中快速疊代,並支援最多 10 位開發人員,您可以在應用程式中暫時設定 FirebaseRemoteConfigSettings
物件,並將最低擷取間隔 (setMinimumFetchIntervalInSeconds
) 設為較低的值。
Remote Config:應用程式傳送擷取要求後,Remote Config 服務要多久才會傳回擷取的值?
裝置通常會在不到一秒的時間內收到擷取的值,有時甚至只要幾毫秒。Remote Config 服務會在幾毫秒內處理擷取要求,但完成擷取要求所需的時間取決於裝置的網路速度,以及裝置使用的網路連線延遲時間。
如果您的目標是盡快在應用程式中套用擷取的參數值,但又不想造成使用者體驗不佳,建議您在應用程式每次重新整理全螢幕時,都加入對 fetchAndActivate
的呼叫。
Test Lab
如需實用提示和常見問題解答,請前往Test Lab疑難排解頁面。
Firebase 使用者區隔儲存空間
什麼是 Firebase 使用者區隔儲存空間?
Firebase 使用者區隔儲存空間會儲存Firebase安裝 ID、相關屬性和區隔,以及您建立的目標對象名單,以便為使用這些資料的其他 Firebase 服務提供指定目標資訊,例如 Crashlytics、FCM、Remote Config 個人化等。