Firebase 上市檢查清單

本文提供檢查清單,列出將 Firebase 應用程式發布至正式環境前,應採取的最佳做法和注意事項。

發布的一般最佳做法

  • 請務必先在 Firebase Local Emulator Suite (適用於支援的產品) 中測試所有變更,再部署至正式環境。徹底測試有助於避免代價高昂的錯誤。

  • 開始強制執行 Firebase App Check支援這項功能的每項服務。App Check 可確保只有實際應用程式才能存取後端服務和資源。

  • 查看 Firebase 一般安全檢查清單

  • 使用Firebase Remote Config推出功能,安全地逐步發布應用程式的新功能和更新。

  • 如果尚未設定 Firebase Crashlytics,建議先完成這項程序。這項輕量級的即時當機回報工具,可協助您追蹤、優先處理並修正穩定性問題,避免應用程式品質受到影響。

瞭解定價方案限制並設定預算快訊

  • 請務必確認在進入正式版後,不會達到用量上限和配額,尤其是使用免付費 Spark 方案時。 建議升級至即付即用 Blaze 定價方案

  • 為專案設定預算快訊

    • 請注意,預算快訊不是預算上限。當您即將達到或超過設定的門檻時,系統會傳送快訊通知您,方便您在應用程式或專案中採取行動。

    • 建議設定進階快訊和動作,例如在收到快訊時停用帳單的功能。

    • 如果您使用 Firebase AI LogicApp HostingCloud Functions for FirebaseFirebase Extensions,強烈建議您設定預算支出上限,這樣一來,如果專案超出該服務的預算,系統就會暫停適用服務。

  • 在產品專屬資訊主頁或Firebase 控制台的中央「用量和帳單」資訊主頁中,監控用量。

確保 Firebase 專案和應用程式符合最佳做法

無論您是單一開發人員還是企業規模的團隊,請務必確保 Firebase 專案、應用程式和資源受到保護、安全無虞,並能隨著團隊的變化演進。

請記住,Firebase 專案其實就是Google Cloud啟用 Firebase 服務和設定的專案。也就是說,Google Cloud 建議的許多最佳做法也適用於 Firebase。

  • 為開發、測試和正式環境使用不同的 Firebase 專案。

    盡量避免使用者意外接觸到與正式版應用程式相關聯的專案。進一步瞭解如何設定開發工作流程

  • 保護重要專案,尤其是與正式版應用程式相關聯的專案。

  • 如果尚未設定Google Cloud機構,建議您設定機構,並將 Firebase 專案新增至機構。

  • 為 Firebase 專案新增多位擁有者, 尤其是屬於Google Cloud機構的專案。 進一步瞭解何時及如何指派 Firebase 專案擁有者

  • 以 Google 群組的形式新增專案成員 (又稱「負責人」),而非個別新增。

    使用群組可更輕鬆地大量指派團隊成員的角色,以及管理 Firebase 專案的存取權,特別是團隊成員輪調或離職時。

  • 授予每個專案成員 (又稱「主體」) 適當的 Firebase 專案和資源存取權。詳情請參閱「使用 Firebase IAM 管理專案存取權」。

  • 請確保每位適用的專案成員 (又稱「主體」) 都已設定偏好設定,以便接收特定產品或專案狀態的快訊 (例如帳單方案異動或配額限制)。詳情請參閱「接收 Firebase 快訊」。

    您也可以視需要自訂專案的「必要聯絡人」,讓特定或額外的專案成員接收通知。這項功能特別有助於確保除了專案擁有者之外,還有其他人會收到帳單、法律和產品變更的通知。

  • 限制 Firebase API 金鑰只能用於需要加入金鑰 API 允許清單的 API。此外,請參閱 Firebase 安全性檢查清單中的 API 金鑰相關資訊。

準備應用程式中使用的特定服務

應用程式中使用的每項產品和服務,在正式版中可能都有特定注意事項。

Firebase AI Logic

Google Analytics

  • 定義目標對象條件,Google Analytics即可在應用程式啟動時開始收集分析資料。

  • 建議啟用將 Google Analytics 資料匯出至 BigQuery 的功能,以便使用 BigQuery SQL 分析資料,或匯出資料以供自有工具使用。

  • 使用者屬性應僅限於與整個應用程式生命週期相關的資訊。可建立的屬性數量有限,且無法封存。

  • 查看Google Analytics資源Google Analytics帳戶Google Analytics的角色設定。這些權限與 Firebase 專案 IAM 權限和角色分開管理。

  • 確認 Firebase 控制台的「專案設定」中,App Store ID 和團隊 ID (如有必要) 正確無誤。

App Check

  • 確認 Firebase 控制台的「專案設定」中,團隊 ID 正確無誤。

  • 如果尚未強制執行,請為每個支援這項功能的服務強制執行。Firebase App CheckApp Check 可確保只有實際應用程式才能存取後端服務和資源。

Authentication

  • 停用所有未使用的供應商 (尤其是匿名驗證)。

  • 如果應用程式使用「使用 Google 帳戶登入」,請自訂 OAuth 同意畫面

  • Authentication電子郵件傳送服務自訂網域和寄件者。

  • 如果您使用 Identity Platform 簡訊驗證服務,請開始強制執行 Firebase App Check,並設定簡訊區域政策,保護應用程式免於簡訊濫用。

  • 在 Apple 平台上導入錯誤處理機制,以解決常見的 Authentication 錯誤

  • Firebase 控制台的專案設定中,為應用程式的簽署憑證新增發布 SHA-1 雜湊。如果應用程式使用電話號碼登入或「使用 Google 帳戶登入」(這項功能有 OAuth 用戶端規定),則必須提供 SHA-1 雜湊值。

  • 為網域新增存取控管,防止未經授權的使用行為。具體來說,請在 Firebase 控制台的Authentication 區段中,允許存取正式版網域 (如果您使用依賴 Firebase Security Rules 的產品,這點尤其重要)。

Cloud Firestore

Cloud Messaging

Cloud Storage

Crashlytics

  • 請確保每位適用的專案成員 (又稱「主體」) 都設定偏好選項,以便接收有關Crashlytics或專案狀態 (例如帳單方案變更或配額限制) 的快訊。詳情請參閱「接收 Firebase 快訊」。

  • 建議啟用將 Crashlytics 資料匯出至 BigQuery 的功能,以便使用 BigQuery SQL 分析資料,或匯出資料以供自有工具使用。

  • (僅限原生 Android 和 iOS) 建議在 Crashlytics 中啟用 AI 輔助,協助您加快瞭解當機原因和解決問題。

  • 上傳發布版本的 dSYM 檔案,以供 Crashlytics 使用。請確認 Xcode 可以自動處理 dSYM 並上傳檔案

  • 上傳發布子版本的 ProGuard 對應,以供 Crashlytics 使用。你可以使用 Firebase CLI 上傳。

  • 將 Firebase 連結至 Google Play ,即可更深入瞭解 Android 應用程式的健康狀態。舉例來說,您可以依 Google Play 測試群組篩選應用程式的當機報告,以便在資訊主頁中更專注於特定建構版本。

  • 如果建構目標是 Android,且使用 IL2CPP,請務必上傳原生符號,以便取得每個建構執行作業的符號,無論程式碼或設定是否有所變更。

  • Dynamic Links 已淘汰,因此建議您遷移服務。詳情請參閱淘汰常見問題

Firebase ML

Performance Monitoring

  • 請確保每位適用的專案成員 (又稱「主體」) 都已設定偏好選項,以便接收有關 Performance Monitoring 或專案狀態 (例如帳單方案異動或配額限制) 的快訊。詳情請參閱「接收 Firebase 快訊」。

  • 建議啟用將 Performance Monitoring 資料匯出至 BigQuery 的功能,以便使用 BigQuery SQL 分析資料,或匯出資料以供自有工具使用。

Realtime Database

Remote Config

  • 確認任何實驗性Remote Config規則不會影響發布使用者,且應用程式中已發布適當的伺服器和應用程式內預設值。