您可以為用戶端和伺服器用途設定範本。用戶端範本會提供給實作 Remote Config 專用 Firebase 用戶端 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
。
舉例來說,您可以建立一個參數來定義大型語言模型 模型 (LLM) 模型名稱和版本字串 將自訂信號用於建立模型 規則。在這個用途中,您可以使用穩定的模型版本做為預設值,為大多數要求提供服務,並使用自訂信號使用實驗模型,回應測試用戶端要求。
參數可以有多個使用不同條件的條件式值,且參數可在專案中共用條件。在「Parameters」分頁 Firebase控制台中,您可以查看每個專案的擷取百分比 參數的條件值這項指標會顯示過去 24 小時內收到各個值的要求百分比。
參數值優先順序
一個參數可能有多個相關聯的條件值。 下列規則會決定要從 Remote Config 擷取哪個值 範本,以及特定應用程式執行個體中 時間點:
首先,系統會針對特定用戶端要求,針對任何評估為
true
的條件套用條件值。如果 多個條件的評估結果為true
,這裡會顯示第一個 (頂端) 條件, Firebase 控制台使用者介面優先,以及條件式值 應用程式擷取值時,系統會提供與該條件相關聯的 。如要變更條件優先順序,請拖曳 在「Conditions」(條件) 分頁中捨棄條件。如果沒有條件值包含得出
true
的條件, 系統會在應用程式擷取時提供 Remote Config 的預設值 從後端輸出這些值如果後端不存在參數,或是預設值設為「使用應用程式內預設值」,則應用程式擷取值時,系統不會為該參數提供任何值。
在應用程式中,get
方法會根據以下優先順序清單傳回參數值
- 如果從後端擷取值並啟用,應用程式會使用擷取的值。已啟用的參數值為永久性。
如果未從後端擷取任何值,或是從 Remote Config 後端擷取的值未啟用,應用程式會使用應用程式內的預設值。
如要進一步瞭解如何取得及設定預設值,請參閱「下載 Remote Config 範本預設值」一文。
如果未設定應用程式內的預設值,應用程式會使用靜態類型值 (例如
0
代表int
,false
代表boolean
)。
這張圖表總結了在 Remote Config 後端和您的應用程式:
參數值資料類型
Remote Config 可讓您為每項參數選取資料類型,且
建立範本前,依據該類型驗證所有 Remote Config 值
更新。資料類型會儲存在 getRemoteConfig
要求中,並在該要求中傳回。
支援的資料類型包括:
String
Boolean
Number
JSON
在 Firebase 控制台 UI 中,您可以從參數鍵旁的下拉式選單中選取資料類型。在 REST API 中,您可以使用
參數物件中的 value_type
欄位。
參數群組
Remote Config 可讓您將參數分組,以便整理 UI 並提升可用性。
舉例來說,假設您需要啟用或停用三種驗證類型 新的登入功能使用 Remote Config 時,您可以建立三個參數來啟用所需類型,然後將這些參數整理到名為「New login」的群組中,而無需新增前置字元或特殊排序。
您可以使用 Firebase 控制台或 Remote Config REST API 建立參數群組。您建立的每個參數群組在 Remote Config 範本中都有專屬名稱。建立參數群組時,請注意下列事項:
- 參數只能在任何時間加入一個群組,且參數金鑰在所有參數中仍須保持不重複。
- 參數群組名稱的長度上限為 256 個半形字元。
- 如果您同時使用 REST API 和 Firebase 控制台,請確認所有 REST API 邏輯已更新,可在發布時處理參數群組。
使用 Firebase 控制台建立或修改參數群組
您可以在 Firebase 控制台的「參數」分頁中將參數分組。如要建立或修改群組,請按照下列步驟操作:
- 選取「管理群組」。
- 找出要新增的參數,然後勾選對應的核取方塊並勾選 移至群組。
- 選取現有群組,或輸入名稱並建立新群組 說明,然後選取「建立新群組」。 儲存群組後,即可使用 「發布變更」按鈕。
條件規則類型
Firebase 控制台支援下列規則類型。Remote Config REST API 提供等效功能,詳情請參閱條件式運算式參考資料。
規則類型 | 運算子 | 值 | 注意事項 |
應用程式 | == | 從與 Firebase 專案相關聯的應用程式 ID 清單中選取。 | 將應用程式新增至 Firebase 時,您會輸入軟體包 ID 或 Android 套件名稱,藉此定義在 Remote Config 規則中顯示為「App ID」的屬性。 這項屬性的使用方式如下:
|
應用程式版本 |
字串值: 完全相符、 包含、 不包含、 包含規則運算式 數值: <, <=, =, !=, >, >= |
指定要指定的應用程式版本。 使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的 Android/Apple 應用程式。 |
Apple 平台:使用應用程式的 CFBundleShortVersionString。 注意:請確認您的 Apple 應用程式使用 Firebase Apple 平台 SDK 6.24.0 以上版本,因為較舊版本不會傳送 CFBundleShortVersionString (請參閱版本資訊)。 Android 裝置:使用應用程式的 versionName。 這項規則的字串比較會區分大小寫。使用 完全符合、包含、不包含 或「包含規則運算式」運算子,您可以選取多個值。 使用「包含規則運算式」運算子時,您可以建立一般 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^ 和 $ 錨點,與 目標字串的開頭、結尾或完整內容。 |
版本編號 |
字串值: 完全符合、 包含、 不包含、 規則運算式 如果是數值: =、≠、>、≥、<、≤ |
指定要指定的應用程式版本。 使用這個規則前,您必須使用「應用程式 ID」規則,選取與 Firebase 專案相關聯的 Apple 或 Android 應用程式。 |
這個運算子僅適用於 Apple 和 Android 應用程式。在 Apple 中,此值對應至應用程式的 CFBundleVersion;在 Android 中,則對應至 versionCode。這項規則的字串比較項目是 區分大小寫。 使用完全符合時,包含、不包含 或「包含規則運算式」運算子,您可以選取多個值。 使用「contains regex」運算子時,您可以使用 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 |
使用這個欄位,將變更套用到應用程式執行個體的隨機樣本 (樣本大小為小 (以 0 .0001% 為例),就可使用滑桿小工具將隨機重組的使用者 (應用程式執行個體) 區隔為 群組。 每個應用程式執行個體都會持續對應至隨機整數或分數,按照 種子。 除非您在以下情況中,否則規則將使用預設金鑰 (Firebase 控制台中顯示為「編輯種子」) 會修改種子值如要讓規則使用預設鍵,請清除「Seed」欄位。 如要持續在指定百分比範圍內處理相同的應用程式執行個體,請在各條件中使用相同的種子值。或者,針對特定的指定應用程式,隨機選取一個新的應用程式執行個體群組 並指定新的種子值 舉例來說,如要建立兩個相關條件,分別套用至應用程式使用者的 5% (不重疊),您可以將一個條件設為比對 0% 到 5% 的百分比,另一個條件則設為比對 5% 到 10% 的範圍。允許部分使用者隨機出現在 兩個群組,為每個條件內的規則使用不同的種子值。 |
已匯入的區隔 | 位於 | 選取一或多個匯入的區隔。 | 這項規則需要設定自訂 匯入的區隔。 |
日期/時間 | 前後對照 | 指定日期和時間,可使用裝置時區或指定時區 (例如「(GMT+11) 雪梨時間」)。 | 將目前時間與裝置擷取時間進行比較。 |
初次開啟 | 之前、之後 | 指定時區的指定日期和時間。 | 比對在指定特定範圍內初次開啟指定應用程式的使用者 時間範圍 需要下列 SDK:
|
安裝 ID | 位於 | 指定一或多個要指定的安裝 ID (最多 50 個)。 | 如果特定安裝 ID 位於以半形逗號分隔的值清單中,則此規則會將該安裝評估為 true 。如要瞭解如何取得安裝 ID,請參閱「擷取用戶端 ID」一文。 |
使用者確實存在 | (無運算子) | 指定目前專案中所有應用程式的所有使用者。 |
請使用這項條件規則來比對專案內所有使用者,無論如何 應用程式或平台的五花八門 |
搜尋參數和條件
您可以搜尋專案的參數鍵、參數值和條件 使用 Firebase 控制台,使用 「參數」分頁頂端的搜尋框。Remote Config
參數和條件的限制
一項 Firebase 專案中最多可以有 2,000 個參數和 500 個 條件。參數鍵長度上限為 256 個字元,且必須以 底線或英文字母字元 (A-Z、a-z),也可以包含 數字。專案中參數值字串的總長度不得 超過 1,000,000 個字元
查看參數和條件的異動
您可以透過 Firebase 控制台查看 Remote Config 範本的最新變更。適用對象 您可以執行以下操作:
查看上次修改參數或條件的使用者名稱。
如果變更發生在同一天內,即可查看幾分鐘或 從變更發布至有效運作中狀態經過時數 Remote Config範本。
如果變更發生在過去一或多天,請查看變更發布至有效 Remote Config 範本的日期。
參數變更記錄
Remote Config 參數 「上次發布時間」欄則會顯示上次修改新版本的使用者人數 參數和上次發布日期:
如要查看已分組參數的變更中繼資料,請展開參數群組。
如要依發布日期遞增或遞減排序,請按一下「上次發布」欄標籤。
條件變更記錄
在 Remote Config「條件」頁面中,您可以查看每個條件下方「上次修改」旁邊的資料,瞭解上次修改條件的使用者和修改日期。