本文件包含檢查清單,列出將 Firebase 應用程式發布至實際工作環境前的最佳做法和注意事項。
發布作業的一般最佳做法
請務必在部署至正式環境前,先在 Firebase Local Emulator Suite (適用於支援的產品) 中測試所有變更。徹底測試有助於避免代價高昂的錯誤。
開始為每項支援 Firebase App Check 的服務強制執行 Firebase App Check。App Check 可確保只有您的實際應用程式才能存取後端服務和資源。
使用Firebase Remote Config 推出功能,安全且逐步為應用程式發布新功能和更新。
如果您尚未設定 Firebase Crashlytics,建議您進行設定。這是一款輕量型即時當機回報程式,可協助您追蹤、排定優先順序並解決會影響應用程式品質的穩定性問題。
瞭解定價方案限制並設定預算快訊
在正式上線後,請務必確保不會達到用量限制和配額,尤其是在使用免費的 Spark 方案時。建議您升級至即付即用 Blaze 定價方案。
為專案設定預算快訊。
請注意,預算快訊不是預算上限。當您即將或已超過所設定的門檻時,系統會傳送警示,讓您在應用程式或專案中採取行動。
建議您設定進階快訊和動作,例如會在收到快訊時停用結帳的函式。
在產品專屬資訊主頁或 Firebase 控制台的中央用量和帳單資訊主頁中監控用量。
確保 Firebase 專案和應用程式符合最佳做法
無論您是單一開發人員或企業團隊,都必須確保 Firebase 專案、應用程式和資源受到保護,並能隨著團隊變更而演進。
請記住,Firebase 專案其實只是已啟用 Firebase 服務和設定的 Google Cloud 專案。也就是說,Google Cloud 建議的許多最佳做法也適用於 Firebase。
使用不同的 Firebase 專案進行開發、測試和正式發布。
請盡量避免意外洩漏與實際發布應用程式相關聯的專案。進一步瞭解如何設定開發工作流程。
保護重要的專案,尤其是與實際工作環境應用程式相關的專案。
如果您尚未建立 Google Cloud 機構,建議您先建立,再將 Firebase 專案加入其中。
請為 Firebase 專案新增多位擁有者,尤其是當專案不在 Google Cloud 組織中時。進一步瞭解何時以及如何指派 Firebase 專案的擁有者。
將專案成員 (又稱「原則」) 新增為 Google 群組,而非個別新增。
使用群組可讓您更輕鬆地為團隊成員大量指派角色,以及管理 Firebase 專案的存取權,特別是在團隊成員輪替或離開時。
請為每位專案成員 (又稱「原則」) 授予適當的 Firebase 專案和資源存取權。如需進一步瞭解,請參閱「使用 Firebase IAM 管理專案存取權」。
請務必讓每位適用的專案成員 (又稱「原則」) 設定偏好設定,以便接收有關特定產品或專案狀態 (例如帳單方案變更或配額限制) 的快訊。詳情請參閱「接收 Firebase 警報」一文。
如果您希望特定或其他專案成員收到通知,也可以選擇自訂專案的「重要聯絡人」。這項功能特別有助於確保除了專案擁有者之外,其他人也能收到帳單、法律和產品變更通知。
限制 Firebase API 金鑰只能用於需要列入金鑰 API 許可清單的 API。此外,請參閱 Firebase 的安全性檢查清單,瞭解如何使用 API 金鑰。
準備應用程式中使用的特定服務
應用程式中使用的每項產品和服務,在正式版中使用時可能都需要特別考量。
Google Analytics
為 Google Analytics 定義目標對象條件,以便從應用程式啟動開始收集分析資料。
建議您啟用 Google Analytics 資料匯出至 BigQuery 的功能,以便使用 BigQuery SQL 分析資料,或將資料匯出至自有工具使用。
請將使用者屬性限制在與整個應用程式生命週期相關的資訊。您可以建立的屬性數量有上限,且無法封存。
查看 Google Analytics 資源和帳戶的Google Analytics 角色設定。這些權限與 Firebase 專案的 IAM 權限和角色是分開管理的。
請確認 Firebase 控制台的專案設定中,您的 App Store ID 和團隊 ID (如有) 是否正確無誤。
App Check
請確認 Firebase 主控台的專案設定中 Team ID 是否正確。
如果您尚未開始,請為每項支援 Firebase App Check 的服務強制執行 Firebase App Check。App Check 可確保只有您的實際應用程式才能存取後端服務和資源。
Authentication
停用您未使用的任何提供者 (尤其是匿名驗證)。
如果應用程式使用「使用 Google 帳戶登入」功能,請為OAuth 同意畫面進行個人化設定。
自訂Authentication 電子郵件傳送服務的網域和寄件者。
如果您使用 Identity Platform 簡訊驗證服務,請開始強制執行 Firebase App Check,並設定簡訊區域政策,以防範應用程式遭到濫用。
針對常見的 Authentication 錯誤,在 Apple 平台上實作錯誤處理機制。
在 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
請參閱「為正式版做好準備」一文,瞭解如何為 Firebase ML Apple 應用程式做好準備。
Performance Monitoring
請確認每位適用的專案成員 (又稱「原則」) 都設定偏好設定,以便接收有關 Performance Monitoring 或專案狀態 (例如帳單方案變更或配額限制) 的快訊。詳情請參閱「接收 Firebase 警報」一文。
建議您啟用 Performance Monitoring 資料匯出至 BigQuery 的功能,以便使用 BigQuery SQL 分析資料,或將資料匯出至自有工具使用。
Realtime Database
設定 Realtime Database Security Rules,避免他人意外存取資料。
確認您已準備好擴大規模。Realtime Database 的預設配額足以支援大多數應用程式,但部分應用程式可能需要額外容量。
設定保護措施規則,以便與 Realtime Database 搭配運作。
Remote Config
- 請確認任何實驗性的 Remote Config 規則不會影響發布使用者,且應用程式會發布適當的伺服器和應用程式內預設值。