Remote Config 範本是為 Firebase 專案建立的一組 JSON 格式參數和條件。Remote Config 會將設定整理成範本,可供建立、更新、建立版本和復原。
視架構而定,您可以建立及管理用戶端範本、伺服器範本,或兩者皆可:
用戶端範本:將設定提供給 Apple、Android、Web、Flutter、Unity 和 C++ 平台上的用戶端應用程式執行個體。用戶端範本支援的條件包括 Google Analytics 目標對象、應用程式版本、平台、裝置語言、國家/地區、使用者百分位數和自訂信號。
伺服器範本:使用 Firebase Admin SDK 搭配 Node.js、Python、Go 和 Java,將設定提供給後端環境,例如 Cloud Run、Cloud Functions for Firebase 或容器化伺服器。伺服器範本會使用伺服器自訂信號和隨機百分比推出,在伺服器端評估參數,延遲時間幾乎為零。
比較用戶端和伺服器範本
用戶端和伺服器範本在 Firebase 專案中獨立維護。請參閱下表,瞭解用戶端和伺服器範本的差異:
| 功能 | 用戶端範本 | 伺服器範本 |
|---|---|---|
| 目標環境 | 用戶端應用程式 (Apple、Android、網頁、Flutter、Unity、C++) | 伺服器環境 (Cloud Run、Cloud Functions for Firebase、GKE、後端服務) |
| 支援的 SDK | Firebase 用戶端 SDK | Firebase Admin SDK (Node.js、Python、Go、Java) |
| 管理工具 | Firebase 控制台、Firebase CLI、REST API、Firebase Admin SDK | Firebase 控制台 |
| 控制台位置 | 參數和條件 | 參數和條件 |
| 下載範本預設值 | 支援 (Android 支援 XML、iOS 支援 PLIST、網頁支援 JSON) | 不適用 (伺服器程式碼或後端中定義的預設值) |
| 詳細指南 | 管理客戶範本 | 管理伺服器範本 |
範本生命週期和版本管理
無論您使用用戶端範本或伺服器範本,Remote Config 都提供內建的版本管控和生命週期管理功能:
建立及追蹤版本
每次更新參數或條件時,Remote Config 都會建立新的 Remote Config 範本版本,並將先前的範本儲存為版本,以便您視需要擷取或復原。版本號碼會從 Remote Config 儲存的初始值開始依序遞增。
所有範本都包含 version 欄位,其中含有該特定版本的中繼資料,例如:
versionNumber:範本的依序版本編號。updateTime:範本發布時的時間戳記。updateUser:執行更新的使用者電子郵件地址或身分。updateOrigin:變更方式 (例如CONSOLE、REST_API或ADMIN_SDK_NODE)。updateType:變更的性質 (例如INCREMENTAL_UPDATE或FORCED_UPDATE)。
版本限制和保留
每種範本類型 (用戶端範本和伺服器範本各 300 個) 的永久儲存版本總數上限為 300 個,包括已刪除範本的儲存版本數量。如果在專案生命週期內,每種範本類型發布超過 300 個範本版本,系統會刪除最早的版本,最多保留 300 個該類型的版本。
復原
您隨時可以復原至任何已儲存的範本版本。復原時,Remote Config 會建立新版本,其內容與所選歷來版本相符。舉例來說,從第 10 版復原至第 6 版,會建立第 11 版,並採用第 6 版的設定。
匯入及匯出
您可以將使用中的範本下載為 JSON 檔案,並發布至相同或另一個專案。這項功能可讓您:
- 將範本定義儲存在原始碼控管系統 (例如 Git)。
- 將設定部署作業整合至 CI/CD 管道。
- 在不同階段推送設定 (例如從開發或測試專案推送至正式環境)。
- 在專案之間遷移設定。
在A/B Testing實驗中,專門建立為變化版本的參數和參數值不會包含在匯出的範本中。
範本預設值
如果是用戶端應用程式,您可以下載 XML、PLIST 或 JSON 格式的參數預設值檔案,並與應用程式搭配使用。如需操作說明,請參閱下載 Remote Config 範本預設值。
後續步驟
- 用戶端範本:如要瞭解如何管理、建立版本、下載及發布用戶端範本,請參閱「管理 Remote Config 用戶端範本和版本管理」。
- 伺服器範本:請參閱「管理 Remote Config 伺服器範本和版本管理」,瞭解如何管理、建立版本及發布伺服器範本。
- 參數和條件:如要瞭解參數和條件的運作方式,請參閱 Remote Config 參數和條件總覽。
- 自動更新:請參閱「以程式輔助方式修改 Remote Config」,瞭解如何以程式輔助方式修改範本。