您可以針對用戶端和伺服器用途設定範本。客戶 範本會向任何導入 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
:
或時間條件 可用來控制應用程式顯示特殊遊戲訊息的時機 促銷商品。
一個參數中可以有多個條件 套用不同條件的值,而且參數可以在 專案。在「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 currently 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 專案相關聯的網頁應用程式。 |
如果true
作業系統及其版本與指定清單中的目標值相符。
|
瀏覽器 | == |
指定要指定的瀏覽器。 使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的網頁應用程式。 |
如果true
瀏覽器及其版本符合指定清單中的目標值。
|
裝置類別 | 是、不是 | 行動裝置 | 這項規則會評估存取網頁應用程式的裝置屬於行動裝置或 非行動裝置 (電腦或控制台)。這個規則類型僅適用於網站 應用程式。 |
語言 | 位於 | 選取一或多種語言。 | 如果指定應用程式執行個體,這項規則就會評估為 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 控制台)。您可以將規則回傳給 清除「種子」欄位來使用預設鍵。 持續處理指定百分比中的相同應用程式執行個體 範圍則使用同一個種子值或選取新的 隨機指派的一組應用程式執行個體 指定新的種子 舉例來說,要建立兩個相關條件,分別適用於 5% 的應用程式內使用者 只要設定一項條件 介於 0% 到 5% 之間的百分比,並設定另一個條件來比對範圍 介於 5% 到 10% 之間如要允許部分使用者隨機顯示在兩個群組中,請使用 每個條件內的規則都有不同的種子值 |
已匯入的區隔 | 位於 | 選取一或多個已匯入的區隔。 | 這項規則需要設定自訂 匯入的區隔。 |
日期/時間 | 之前、之後 | 指定的日期和時間 (以裝置時區或指定的時區為準) 時區,例如「(GMT+11) 雪梨時間」。 | 比較目前時間與裝置擷取時間。 |
初次開啟 | 之前、之後 | 指定的日期和時間 (以指定時區為準)。 | 比對在指定特定範圍內初次開啟指定應用程式的使用者 時間範圍 需要下列 SDK:
|
安裝 ID | 位於 | 指定一或多個要指定的安裝 ID (最多 50 個)。 | 如果指定的話,這項規則會針對指定安裝評估為 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 專案。