本文提供檢查清單,列出將 Firebase 應用程式發布至正式環境前應考量的最佳做法和注意事項。
發布的一般最佳做法
請務必先在Firebase Local Emulator Suite中測試所有變更 (適用於支援的產品),再部署至正式環境。徹底測試有助於避免代價高昂的錯誤。
開始強制執行 Firebase App Check 支援這項功能的每項服務。App Check 可確保只有實際應用程式才能存取後端服務和資源。
使用Firebase Remote Config推出功能,安全地逐步發布應用程式的新功能和更新。
如果尚未設定,建議設定 Firebase Crashlytics。這項輕量級的即時當機回報工具,可協助您追蹤穩定性問題、排定問題的優先順序並加以解決,避免應用程式品質受到影響。
瞭解定價方案限制及設定預算快訊
請務必在正式上線後,確保用量不會超出限制和配額,尤其是使用免付費 Spark 方案時。建議升級至即付即用 Blaze 定價方案。
為專案設定預算快訊。
請注意,預算快訊不是預算上限。當您即將達到或超過設定的門檻時,系統會傳送快訊通知您,方便您在應用程式或專案中採取行動。
建議您設定進階快訊和動作,例如在收到快訊時停用帳單的功能。
在產品專屬資訊主頁或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角色設定。這些權限與 Firebase 專案 IAM 權限和角色分開管理。
確認 Firebase 控制台的專案設定中,App Store ID 和團隊 ID (如有必要) 正確無誤。
App Check
確認 Firebase 控制台的專案設定中,團隊 ID 正確無誤。
如果尚未開始強制執行 Firebase App Check,請為每個支援這項功能的服務執行這項操作。App 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 Firestore Security Rules,防止無意間存取資料。
在發布版本中,使用 ProGuard 縮減程式碼。如果沒有 ProGuard,Cloud Firestore SDK 和其依附元件可能會增加 APK 大小。
Cloud Messaging
考慮啟用將 Cloud Messaging 資料匯出至 BigQuery,以便使用 BigQuery SQL 分析資料,或匯出資料以用於自有工具。
在 Firebase 控制台中,為 Apple 應用程式上傳 Cloud Messaging 的 APNS 驗證金鑰。 如果使用 APNS 憑證,請務必上傳正式版 APNS 憑證。
Cloud Storage
- 設定 Cloud Storage Security Rules,防止他人無意間存取資料。
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
- Dynamic Links 已淘汰,因此建議您遷移離開這項服務。詳情請參閱淘汰常見問題。
Firebase ML
Performance Monitoring
請確保每位適用的專案成員 (又稱「主體」) 都已設定偏好設定,以便接收有關Performance Monitoring或專案狀態 (例如帳單方案變更或配額限制) 的快訊。詳情請參閱「接收 Firebase 快訊」。
考慮啟用將 Performance Monitoring 資料匯出至 BigQuery,以便使用 BigQuery SQL 分析資料,或匯出資料以用於自有工具。
Realtime Database
設定 Realtime Database Security Rules,防止他人無意間存取資料。
確認您已準備好擴大規模。Realtime Database 的預設配額足以應付大多數應用程式的需求,但部分應用程式可能需要額外容量。
設定保護措施規則,以便與 Realtime Database 搭配運作。
Remote Config
- 確認任何實驗性Remote Config規則不會影響發布使用者,且應用程式中已發布適當的伺服器和應用程式內預設值。