您可以為用戶端和伺服器用途設定範本。客戶 範本會向任何導入 Firebase 的應用程式執行個體提供 Remote Config 的用戶端 SDK,包括 Android、Apple、Web、Unity Flutter 和 C++ 應用程式Remote Config 個參數和值的來源 伺服器專用範本提供給 Remote Config 實作 (包括 Cloud Run 和 Cloud Functions) 使用 Firebase 管理員 Node.js SDK v12.1.0 以上版本。
使用 Firebase 控制台或 Remote Config 個後端 API 您可以定義一或多個參數 ),並為這些參數提供應用程式內預設值。您可覆寫 定義相關的應用程式內預設值 參數鍵和參數值是字串,但 當您在
您可以使用 Firebase 控制台、Admin SDK 或 Remote Config REST API,為參數建立新的預設值,以及用於指定應用程式執行個體群組的條件值。每次在 Firebase 控制台中更新設定時, Firebase 會建立並發布新版 Remote Config 範本。 系統會儲存先前的版本,讓您視需要擷取或復原。您可以在 Firebase 控制台中使用這些作業 Firebase Admin SDK 和 REST API 等 管理 Remote Config 個範本版本。
本指南說明參數、條件、規則、條件 值,以及系統如何決定各參數值的優先順序 Remote Config 伺服器和應用程式。也會詳細說明 用來建立條件的規則
條件、規則和條件值
條件可用於指定一組應用程式執行個體。條件生效
一或多個規則,這些規則必須全部評估為 true
,才符合條件
指定應用程式例項的 true
。如果規則值是
未定義 (例如沒有可用的值時),該規則會評估為
false
。
舉例來說,定義應用程式啟動畫面的參數可使用規則 if device_os = Android
,根據 OS 類型顯示不同的圖片:
或者,您也可以使用時間條件來控管應用程式顯示特別促銷商品的時間。
一個參數中可以有多個條件 套用不同條件的值,而且參數可以在 專案。在「Parameters」分頁 Firebase控制台中,您可以查看每個專案的擷取百分比 參數的條件值這項指標會顯示過去 24 小時內收到各個值的要求百分比。
參數值優先順序
一個參數可能有多個相關聯的條件值。下列規則會決定從 Remote Config 伺服器擷取哪個值,以及在特定時間點,在特定應用程式執行個體中使用哪個值:
系統會根據下列優先順序擷取參數值 清單
第一,如果系統有評估條件時,會套用條件式值 特定應用程式執行個體的
true
要求。如果多項條件的評估結果為true
, 系統會優先採用 Firebase 控制台 UI 中顯示的第一個 (頂端) 路徑,以及 系統會在應用程式提供與該條件相關聯的條件式值時 從後端擷取值。如要變更條件的優先順序, 在「Conditions」(條件) 分頁中拖曳條件。如果沒有任何條件值的條件會評估為
true
,則在應用程式從後端擷取值時,系統會提供 Remote Config 的預設值。如果後端不存在參數,或是預設值設為「使用應用程式內預設值」,則應用程式擷取值時,系統不會為該參數提供任何值。
在應用程式中,get
方法會根據以下優先順序清單傳回參數值
- 如果值已從後端擷取,然後啟用,應用程式會使用 擷取的值。已啟用的參數值為永久性。
如果系統未從後端擷取任何值,或是系統從 Remote Config 後端尚未啟用,該應用程式會使用應用程式內資料 預設值。
如要進一步瞭解如何取得及設定預設值,請參閱 下載 Remote Config 範本預設值。
如未設定應用程式內預設值,應用程式會使用靜態類型 值 (例如
int
為0
,boolean
為false
)。
下圖概略說明 Remote Config 後端和應用程式中參數值的優先順序:
參數值資料類型
Remote Config 可讓您為每項參數選取資料類型,且
建立範本前,依據該類型驗證所有 Remote Config 值
更新。資料類型在 getRemoteConfig
上儲存及傳回
請求。
支援的資料類型包括:
String
Boolean
Number
JSON
在 Firebase 控制台 UI 中,您可以從下列位置選取資料類型:
下拉式選單。在 REST API 中,您可以使用參數物件中的 value_type
欄位設定類型。
參數群組
Remote Config 可讓你將參數分組,使參數更井然有序 使用者介面,提高可用性。
舉例來說,假設您需要啟用或停用三種驗證類型 新的登入功能Remote Config 可讓您建立 讓您啟用所需類型並整理成 「新登入」群組不必加入前置字元或特殊排序
您可以使用 Firebase 控制台或 Remote Config REST API。您建立的每個參數群組在 您的 Remote Config 範本。建立參數群組時,請注意下列事項:
- 參數只能在任何時間加入一個群組,且參數金鑰在所有參數中仍須保持不重複。
- 參數群組名稱的長度上限為 256 個半形字元。
- 如果您同時使用 REST API 和 Firebase 控制台,請確認所有 REST API 邏輯已更新,可在發布時處理參數群組。
使用 Firebase 控制台建立或修改參數群組
您可以將參數分組 的「Parameters」分頁 Firebase 控制台。如何建立或修改群組:
- 選取「管理群組」。
- 勾選要新增的參數核取方塊,然後選取「移動至群組」。
- 選取現有群組,或輸入名稱並建立新群組 說明,然後選取「建立新群組」。 儲存群組後,即可使用 「發布變更」按鈕。
透過程式建立群組
Remote Config REST API 提供了 建立及發布參數群組 如果您熟悉 REST,且已設定授權 API 要求,您可以執行下列步驟,以程式輔助方式管理群組:
- 擷取目前的範本
- 新增 JSON 物件來代表參數群組
- 使用 HTTP PUT 要求發布參數群組。
parameterGroups
物件包含群組鍵,其中包含巢狀說明和
已分組的參數清單。請注意,每個群組金鑰在全域範圍內都不得重複。
例如,此處摘錄自新增參數的範本修訂版本
群組「新增選單」群組,其中包含一個參數 pumpkin_spice_season
:
{ "parameters": {}, "version": { "versionNumber": "1", … }, "parameterGroups": { "new menu": { "description": "New Menu", "parameters": { "pumpkin_spice_season": { "defaultValue": { "value": "true" }, "description": "Whether it's pumpkin spice season." } } } } }
條件規則類型
Firebase 控制台支援下列規則類型。對等 Remote Config REST API 會提供功能,詳情請參閱 條件運算式參考資料。
規則類型 | 運算子 | 值 | 注意事項 |
應用程式 | == | 從與 Firebase 專案相關聯的應用程式 ID 清單中選取。 | 將應用程式新增至 Firebase 時,您必須輸入軟體包 ID 或 Android
這個套件名稱會定義在清單中顯示為 App ID 的屬性
Remote Config 規則。
這項屬性的使用方式如下:
|
應用程式版本 |
字串值: 完全符合、 包含、 不包含、 規則運算式 如果是數值: =、≠、>、≥、<、≤ |
指定要指定的應用程式版本。 使用這個規則前,您必須使用「應用程式 ID」規則,選取與 Firebase 專案相關聯的 Android/Apple 應用程式。 |
Apple 平台:使用應用程式的 CFBundleShortVersionString。 注意:請確認您的 Apple 應用程式使用的是 Firebase Apple 平台 SDK 6.24.0 以上版本,因為其中未傳送 CFBundleShortVersionString 較舊版本 (請參閱版本資訊)。 Android:使用應用程式的 versionName。 這項規則的字串比較會區分大小寫。使用 完全符合、包含、不包含 或規則運算式,您可以選取多個值。 使用規則運算式運算子時,您可以建立規則運算式 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^ 和 $ 錨點,與 目標字串的開頭、結尾或完整內容。 |
版本編號 |
字串值: 完全符合、 包含、 不包含、 規則運算式 如果是數值: =、≠、>、≥、<、≤ |
指定要指定的應用程式版本。 使用這項規則前,您必須使用「應用程式 ID」規則選取 Apple 或 與 Firebase 專案相關聯的 Android 應用程式。 |
這個運算子僅適用於 Apple 和 Android 應用程式。對應應用程式的 CFBundleVersion (適用於 Apple) 和 versionCode (Android)。 這項規則的字串比較項目是 區分大小寫。 使用完全符合時,包含、不包含 或規則運算式,您可以選取多個值。 使用規則運算式運算子時,您可以使用 RE2 格式建立規則運算式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^ 和 $ 錨點,與 目標字串的開頭、結尾或完整內容。 |
平台 | == | iOS Android 網頁版 |
|
作業系統 | == |
指定要指定的作業系統。 使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的網頁應用程式。 |
如果作業系統及其版本與指定清單中的目標值相符,此規則會針對特定 Web 應用程式執行個體評估為 true 。 |
瀏覽器 | == |
指定要指定的瀏覽器。 使用這個規則前,您必須使用「應用程式 ID」規則選取與 Firebase 專案相關聯的「網路應用程式」。 |
如果true
瀏覽器及其版本符合指定清單中的目標值。
|
裝置類別 | is, is not | 行動裝置 | 這項規則會評估存取網頁應用程式的裝置屬於行動裝置或 非行動裝置 (電腦或控制台)。這個規則類型僅適用於網站 應用程式。 |
語言 | 位於 | 選取一或多種語言。 | 如果指定應用程式執行個體,這項規則就會評估為 true
應用程式安裝在使用下列任一種語言的裝置上。
|
國家/地區 | 位於 | 選取一或多個區域或國家/地區。 | 如果true
執行個體位於此處所列的任何地區。裝置國家/地區代碼
判斷依據為要求中的裝置 IP 位址或國家/地區代碼
由 Firebase Analytics 決定 (若 Analytics 資料已與 Firebase 共用)。
|
使用者目標對象 | 包括至少一個 | 從 Google Analytics 目標對象清單中選取一或多個 即可看到您設定好的專案 | 這項規則需要應用程式 ID 規則,才能選取與您的 Firebase 專案。 注意:許多 Analytics 目標對像是由事件或 用來衡量使用者屬性的情況 「目標對像中的使用者」規則的一段時間,才會對特定應用程式生效 執行個體。 |
使用者屬性 |
字串值:
包含 不包含 完全符合 規則運算式 如果是數值: =、≠、>、≥、<、≤ 注意:在用戶端中,您只能為使用者設定字串值 資源。對於使用數值運算子的條件,Remote Config 會將對應使用者屬性的值轉換為整數/浮點數。 |
從可用的 Google Analytics 使用者清單中選取 資源。 | 如要瞭解如何運用使用者屬性自訂應用程式
使用者族群的區隔,例如
Remote Config 和使用者屬性。
如要進一步瞭解使用者屬性,請參閱下列指南: 使用完全符合時,包含、不包含 或規則運算式,您可以選取多個值。 使用規則運算式運算子時,您可以建立規則運算式 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^ 和 $ 錨點,與 目標字串的開頭、結尾或完整內容。 注意: 自動收集的使用者屬性 無法建立 Remote Config 條件。 |
隨機百分比中的使用者 | 滑桿 (位於 Firebase 控制台,
REST API 使用
<= 、> 和 between 運算子)。
|
0-100 TB | 使用這個欄位將變更套用至應用程式執行個體的隨機樣本 (樣本大小為 .0001%) 將隨機重組的使用者 (應用程式執行個體) 區隔為一組。 每個應用程式執行個體都會永久對應至隨機整個 依據該專案中定義的種子。 規則將使用預設鍵 (在 Firebase 控制台)。您可以清除「Seed」欄位,讓規則恢復使用預設鍵。 持續處理指定百分比中的相同應用程式執行個體 範圍則使用同一個種子值或選取新的 隨機指派的一組應用程式執行個體 指定新的種子 舉例來說,要建立兩個相關條件,分別適用於 5% 的應用程式內使用者 只要設定一項條件 介於 0% 到 5% 之間的百分比,並設定另一個條件來比對範圍 介於 5% 到 10% 之間如要讓部分使用者隨機出現在兩個群組中,請為每個條件中的規則使用不同的種子值。 |
已匯入的區隔 | 位於 | 選取一或多個已匯入的區隔。 | 您必須設定自訂匯入的區隔,才能使用這項規則。 |
日期/時間 | 之前、之後 | 指定的日期和時間 (以裝置時區或指定的時區為準) 時區,例如「(GMT+11) 雪梨時間」。 | 比較目前時間與裝置擷取時間。 |
初次開啟 | 之前、之後 | 指定的日期和時間 (以指定時區為準)。 | 比對在指定特定範圍內初次開啟指定應用程式的使用者 時間範圍 需要下列 SDK:
|
安裝 ID | 位於 | 指定一或多個 (最多 50 個) 要指定的裝置 ID。 | 如果指定的話,這項規則會針對指定安裝評估為 true
安裝 ID 就列在逗號分隔值清單中。
如要瞭解如何取得安裝 ID,請參閱 擷取用戶端 ID。 |
使用者確實存在 | (無運算子) | 指定目前專案中所有應用程式的所有使用者。 |
請使用這項條件規則來比對專案內所有使用者,無論如何 應用程式或平台的五花八門 |
搜尋參數和條件
您可以搜尋專案的參數鍵、參數值和條件 使用 Firebase 控制台,使用 「參數」分頁頂端的搜尋框。Remote Config
參數和條件的限制
一項 Firebase 專案中最多可以有 2,000 個參數和 500 個 條件。參數鍵長度上限為 256 個字元,且必須以 底線或英文字母字元 (A-Z、a-z),也可以包含 數字。專案中參數值字串的總長度不得 超過 1,000,000 個字元
查看參數和條件的異動
你可以查看Remote Config範本的最新變更 請點選 Firebase 控制台。適用對象 您可以執行以下操作:
查看上次修改參數或條件的使用者名稱。
如果變更發生在同一天內,即可查看幾分鐘或 從變更發布至有效運作中狀態經過時數 Remote Config範本。
如果變更發生在過去一或多天,請查看變更發布至有效 Remote Config 範本的日期。
參數更新
在 Remote Config「參數」中 「上次發布時間」欄則會顯示上次修改新版本的使用者人數 參數和上次發布日期:
如要查看已分組參數的變更中繼資料,請展開參數群組。
如要依發布日期遞增或遞減排序,請按一下 「上次發布時間」欄標籤。
狀況更新
Remote Config 「條件」頁面,可以 可查看上次修改條件的使用者和修改日期 。
後續步驟
如要開始設定 Firebase 專案,請參閱 設定 Firebase Remote Config 專案。