遠端設定參數和條件


您可以為用戶端和伺服器用途設定範本。用戶端範本會提供給任何實作 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 SDKRemote 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 時,您會擷取及載入整個範本,以便根據需要為每個用戶端要求擷取適當的參數值。參數可能會與多個條件值相關聯。

下列規則會決定在特定時間點的範本評估期間,系統會指派哪個值:

  1. 首先,系統會針對特定用戶端要求,針對任何評估為 true 的條件套用條件值。如果多項條件的評估結果皆為 trueFirebase 控制台 UI 中顯示的第一個 (最上方) 條件會優先採用,且範本評估時會提供與該條件相關聯的條件值。如要變更條件的優先順序,請在「條件」分頁中拖曳條件。

  2. 如果沒有任何條件值的條件會評估為 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 控制台的「參數」分頁中將參數分組。如要建立或修改群組,請按照下列步驟操作:

  1. 選取「管理群組」
  2. 勾選要新增的參數核取方塊,然後選取「移動至群組」
  3. 選取現有群組,或輸入名稱和說明,然後選取「建立新群組」來建立新群組。儲存群組後,您可以使用「發布變更」按鈕發布群組。

條件規則類型

伺服器應用程式的 Remote Config 範本支援下列條件類型:

隨機百分比中的使用者

使用這個欄位,將變更套用至隨機應用程式執行個體的樣本 (樣本大小最小為 0.0001%),並使用滑桿小工具,將隨機排序的使用者 (應用程式執行個體) 區隔為群組。

根據專案中定義的種子,每個應用程式執行個體都會持續對應至隨機整數或小數。

除非您修改了種子值,否則規則會使用預設鍵 (在 Firebase 控制台中顯示為「Edit seed」)。如要讓規則使用預設鍵,請清除「Seed」欄位。

如要持續在指定百分比範圍內處理相同的應用程式執行個體,請在各條件中使用相同的種子值。或者,您也可以指定新的種子,為特定百分比範圍選取一組隨機指派的應用程式執行個體。

舉例來說,如要建立兩個相關條件,分別套用至應用程式使用者的 5% 非重疊範圍,您可以將一個條件設為比對 0% 到 5% 的百分比,另一個條件則設為比對 5% 到 10% 的範圍。如要讓部分使用者隨機出現在兩個群組中,請為每個條件中的規則使用不同的種子值。

如要瞭解如何在應用程式中新增隨機百分比條件,請參閱「設定伺服器應用程式」。

自訂信號

使用 Firebase Admin Node.js SDK 12.5.0 以上版本時,您可以使用自訂信號條件類型,比對應用程式中定義的任意條件。這可讓您針對每個用戶端要求自訂伺服器回應。

舉例來說,如果您正在開發伺服器應用程式,並使用生成式 AI 搭配不同模型 (針對特定平台進行調整) 來製作回應,您可以執行以下操作:

  1. promptmodel_name 參數新增至 Remote Config 伺服器範本。
  2. 為每個要指定的平台新增自訂信號,並將其值設為 platform
  3. 在特定伺服器的 Remote Config 範本中新增預設值,並為您定義的每個平台條件新增條件值。
  4. 更新應用程式程式碼,設定及使用 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「條件」頁面中,您可以查看每個條件下方「上次修改」旁邊的資料,瞭解上次修改條件的使用者和修改日期。

後續步驟

如要將 Firebase 專案和伺服器應用程式設為使用 Remote Config,請參閱「在伺服器環境中使用 Remote Config」。