您可以為用戶端和伺服器用途設定範本。用戶端範本會提供給任何實作 Remote Config 適用的 Firebase 用戶端 SDK 的應用程式,包括 Android、Apple、Web、Unity、Flutter 和 C++ 應用程式。來自伺服器專屬範本的 Remote Config 參數和值,會提供給使用 Firebase Admin Node.js SDK 12.1.0 以上版本的 Remote Config 實作項目 (包括 Cloud Run 和 Cloud Functions)。
使用 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) 模型名稱和版本字串,並根據自訂信號規則提供不同模型的回覆。在這個用途中,您可以使用穩定的模型版本做為預設值,為大多數要求提供服務,並使用自訂信號使用實驗模型,回應測試用戶端要求。
參數可以有多個使用不同條件的條件值,且參數可以在專案中共用條件。您可以在 Firebase 控制台的「參數」分頁中,查看每個參數條件值的擷取百分比。這項指標會顯示過去 24 小時內收到各個值的要求百分比。
參數值優先順序
在使用 Firebase Admin SDK 的伺服器應用程式中使用 Remote Config 時,您會擷取及載入整個範本,以便根據需要為每個用戶端要求擷取適當的參數值。參數可能會與多個條件值相關聯。
下列規則會決定在特定時間點的範本評估期間,系統會指派哪個值:
首先,系統會針對特定用戶端要求,針對任何評估為
true
的條件套用條件值。如果多項條件的評估結果皆為true
,Firebase 控制台 UI 中顯示的第一個 (最上方) 條件會優先採用,且範本評估時會提供與該條件相關聯的條件值。如要變更條件的優先順序,請在「條件」分頁中拖曳條件。如果沒有任何條件值的條件會評估為
true
,範本評估期間會提供 Remote Config 的預設值。如果範本中不存在參數,或是預設值設為「使用應用程式內預設值」,則在評估範本時,系統不會為該參數提供任何值。
如要進一步瞭解如何在伺服器應用程式中載入及評估 Remote Config 範本,請參閱「在伺服器環境中使用 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 控制台的「參數」分頁中將參數分組。如要建立或修改群組,請按照下列步驟操作:
- 選取「管理群組」。
- 勾選要新增的參數核取方塊,然後選取「移動至群組」。
- 選取現有群組,或輸入名稱和說明,然後選取「建立新群組」來建立新群組。儲存群組後,您可以使用「發布變更」按鈕發布群組。
條件規則類型
伺服器應用程式的 Remote Config 範本支援下列條件類型:
隨機百分比中的使用者
使用這個欄位,將變更套用至隨機應用程式執行個體的樣本 (樣本大小最小為 0.0001%),並使用滑桿小工具,將隨機排序的使用者 (應用程式執行個體) 區隔為群組。
根據專案中定義的種子,每個應用程式執行個體都會持續對應至隨機整數或小數。
除非您修改了種子值,否則規則會使用預設鍵 (在 Firebase 控制台中顯示為「Edit seed」)。如要讓規則使用預設鍵,請清除「Seed」欄位。
如要持續在指定百分比範圍內處理相同的應用程式執行個體,請在各條件中使用相同的種子值。或者,您也可以指定新的種子,為特定百分比範圍選取一組隨機指派的應用程式執行個體。
舉例來說,如要建立兩個相關條件,分別套用至應用程式使用者的 5% 非重疊範圍,您可以將一個條件設為比對 0% 到 5% 的百分比,另一個條件則設為比對 5% 到 10% 的範圍。如要讓部分使用者隨機出現在兩個群組中,請為每個條件中的規則使用不同的種子值。
如要瞭解如何在應用程式中新增隨機百分比條件,請參閱「設定伺服器應用程式」。
自訂信號
使用 Firebase Admin Node.js SDK 12.5.0 以上版本時,您可以使用自訂信號條件類型,比對應用程式中定義的任意條件。這可讓您針對每個用戶端要求自訂伺服器回應。
舉例來說,如果您正在開發伺服器應用程式,並使用生成式 AI 搭配不同模型 (針對特定平台進行調整) 來製作回應,您可以執行以下操作:
- 將
prompt
和model_name
參數新增至 Remote Config 伺服器範本。 - 為每個要指定的平台新增自訂信號,並將其值設為
platform
。 - 在特定伺服器的 Remote Config 範本中新增預設值,並為您定義的每個平台條件新增條件值。
- 更新應用程式程式碼,設定及使用
platform
自訂信號。
應用程式現在可以在範本評估期間擷取適當的提示和模型,並使用這些提示和模型向每個用戶端傳回自訂回應。
您可以使用下列規則類型,在 Firebase 控制台中建立自訂信號。
作業系統類別 | 運算子 | 值 | 注意事項 |
---|---|---|---|
文字 | 完全符合、包含、不包含、包含規則運算式 |
這項規則的字串比較會區分大小寫。使用「完全符合」、「包含」、「不包含」或「包含規則運算式」運算子時,您可以選取多個值。 使用「contains regex」運算子時,您可以使用 RE2 格式建立規則運算式。規則運算式可以比對目標版本字串的全部或部分。您也可以使用 ^ 和 $ 錨點,比對目標字串的開頭、結尾或整個字串。 |
|
Numbers | <、<=、=、!=、>、>= | 小數點前後最多十位數字的數字。 | |
版本 | <、<=、=、!=、>、>= | 代表要比對的版本號碼 (例如 2.1.0) 的數字。 |
如要瞭解如何在應用程式中新增自訂信號,請參閱「設定伺服器應用程式」。
搜尋參數和條件
您可以使用 Remote Config「參數」分頁頂端的搜尋方塊,在 Firebase 控制台中搜尋專案的參數鍵、參數值和條件。
參數和條件的限制
在 Firebase 專案中,最多可設定 2000 個參數和 500 個條件。參數鍵長度上限為 256 個半形字元,開頭必須是底線或英文字母字元 (A-Z、a-z),其他部分則可使用數字。專案中參數值字串的總長度不得超過 1,000,000 個字元。
查看參數和條件的變更
您可以透過 Firebase 控制台查看 Remote Config 範本的最新變更。針對每個個別參數和條件,您可以:
查看上次修改參數或條件的使用者名稱。
如果變更發生在同一天,請查看變更發布至有效 Remote Config 範本後,已過了多少分鐘或小時。
如果變更發生在過去一或多天,請查看變更發布至有效 Remote Config 範本的日期。
參數變更記錄
在 Remote Config「參數」頁面上,「上次發布」欄會顯示上次修改每個參數的使用者,以及變更的上次發布日期:
如要查看已分組參數的變更中繼資料,請展開參數群組。
如要依發布日期遞增或遞減排序,請按一下「上次發布」欄標籤。
條件變更記錄
在 Remote Config「條件」頁面中,您可以查看每個條件下方「上次修改」旁邊的資料,瞭解上次修改條件的使用者和修改日期。