遠端設定參數和條件


您可以為用戶端和伺服器用途設定範本。凡是導入 Firebase 用戶端 SDK 的應用程式例項 (包括 Android、Apple、Web、Unity、Flutter 和 C++ 應用程式),都會收到用戶端範本。Remote Config系統會將伺服器專屬範本中的 Remote Config 參數和值,提供給使用下列伺服器環境的 Remote Config 實作項目 (包括 Cloud Run 和 Cloud Functions):

  • Firebase Admin Node.js SDK 12.1.0 以上版本
  • Firebase Admin Python SDK 6.7.0 以上版本

使用 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 ConfigFirebase Admin SDK一個參數可能有多個相關聯的條件值。

系統在特定時間點評估範本時,會根據下列規則指派值:

  1. 首先,系統會針對特定用戶端要求評估為 true 的任何條件,套用條件值。如果多項條件的評估結果皆為 true,系統會優先採用 Firebase 控制台 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 控制台中顯示為「編輯種子」)。如要讓規則恢復使用預設鍵,請清除「Seed」欄位。

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

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

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

自訂信號條件

使用 Firebase Admin Node.js SDK 12.5.0 以上版本時,您可以透過自訂信號條件值,比對您在應用程式中定義的任意條件。這項功能可讓您根據每個用戶端要求調整伺服器回應。

舉例來說,如果您正在開發伺服器應用程式,並使用生成式 AI 協助製作回覆,且這些回覆會使用針對特定平台調整的不同模型,您可以採取下列做法:

  1. Remote Config 伺服器範本中新增 promptmodel_name 參數。
  2. 為要指定的每個平台新增自訂信號條件,並將值設為 platform
  3. 在伺服器專屬的 Remote Config 範本中新增預設值,並為您定義的每個平台條件新增條件值。
  4. 更新應用程式程式碼,設定及使用 platform 自訂信號。

現在,應用程式可以在範本評估期間擷取適當的提示和模型,並使用這些提示和模型向每個用戶端傳回自訂回覆。

您可以在 Firebase 控制台中,使用下列規則類型建立自訂信號條件。

業者類別 運算子 注意事項
文字 完全相符、包含、不包含、包含規則運算式

這項規則的字串比較會區分大小寫。使用「完全相符」、「包含」、「不包含」或「包含規則運算式」運算子時,可以選取多個值。

使用「包含規則運算式」運算子時,您可以建立 RE2 格式的規則運算式。規則運算式可以比對目標版本字串的全部或部分內容。您也可以使用 ^$ 錨點,比對目標字串的開頭、結尾或完整內容。

Numbers <、<=、=、!=、>、>= 小數點兩側的數字不得超過十位數。
版本 <、<=、=、!=、>、>= 代表要比對的版本號碼 (例如 2.1.0)。

如要瞭解如何在應用程式中新增自訂信號,請參閱「設定伺服器應用程式」。

搜尋參數和條件

您可以使用 Firebase 控制台頂端 Remote Config「參數」分頁中的搜尋方塊,搜尋專案的參數鍵、參數值和條件。

參數和條件的限制

在 Firebase 專案中,最多可有 3000 個參數和 2000 個條件。參數鍵長度上限為 256 個字元,開頭必須是底線或英文字母字元 (A 至 Z、a 至 z),其他部分則可使用數字。專案中參數值字串的總長度不得超過 1,000,000 個字元。

查看參數和條件的變更

如要查看Remote Config範本的最新變更,請前往 Firebase控制台。您可以對每個參數和條件執行下列操作:

  • 查看上次修改參數或條件的使用者名稱。

  • 如果變更發生在同一天,請查看自發布變更至有效Remote Config範本以來經過的分鐘數或時數。

  • 如果變更發生在一天以上前,請查看變更發布至有效 Remote Config 範本的日期。

參數的變更記錄

在「參數」Remote Config 頁面中,「上次發布」欄會顯示上次修改各參數的使用者,以及變更的上次發布日期:

  • 如要查看分組參數的變更中繼資料,請展開參數群組。

  • 如要依發布日期遞增或遞減排序,請按一下「上次發布」欄標籤。

條件的變更記錄

在「條件」Remote Config頁面中,您可以在每個條件下方的「上次修改時間」旁,查看上次修改條件的使用者和修改日期。

後續步驟

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