| 選取範本類型: | 用戶端範本 伺服器範本 |
您可以將伺服器專用範本中的 Remote Config 參數和值,提供給使用下列伺服器環境的 Remote Config 實作項目 (包括 Cloud Run 和 Cloud Functions for Firebase):
- Firebase Admin Node.js SDK 12.1.0 以上版本
- Firebase Admin Python SDK 6.7.0 以上版本
- Firebase Admin Go SDK v4.17.0 以上版本
- Firebase Admin Java SDK 9.7.0 以上版本
使用 Firebase 控制台或Remote Config後端 API 時,您可以在伺服器程式碼中定義一或多個參數 (鍵/值組合),並為這些參數提供預設值。您可以在 Remote Config 範本中定義參數值,藉此覆寫預設值。參數鍵和參數值都是字串,但在應用程式中使用這些值時,參數值可以轉換為其他資料類型。
您可以使用 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 控制台中,依序前往「DevOps & Engagement」>「遠端設定」>「參數」頁面,查看各參數條件值的擷取百分比。這項指標代表過去 24 小時內,收到各個值的要求百分比。
使用 Firebase 控制台新增、編輯、重新排序或刪除條件
您可以在 Firebase 控制台中建立、編輯、重新排序及刪除指定條件。專案中的參數會共用條件。以下說明如何管理條件:
- 在 Firebase 控制台中,依序前往「DevOps & Engagement」 >「遠端設定」 >「Conditions」頁面 (或在「Parameters」頁面中選取「Manage conditions」)。
- 新增條件:按一下「Add condition」(新增條件) (或「Create your first condition」(建立第一個條件)),輸入定義指定目標的名稱,然後選取一或多個指定規則。
- 編輯條件:按一下條件名稱或編輯圖示,視需要修改規則,然後按一下「儲存」。
- 變更條件優先順序:在「Conditions」(條件) 頁面上,拖曳條件的抓取控點即可重新排序。清單中較高的條件優先於較低的條件。
- 刪除條件:按一下要移除的條件旁的刪除圖示。如果條件由任何參數參照,移除條件也會一併移除相關聯的條件值。
儲存條件變更後,請使用「Publish changes」(發布變更) 發布範本。
IPv6 限制與 IP 存取控管
搭配使用 IP 型存取政策時,Remote Config 對 IPv6 的支援有限。如果貴組織限制存取特定公開 IP 範圍,透過 IPv6 網路連線可能會導致下列問題:
- 控制台存取權:您可能無法使用 Firebase 控制台中的特定 Remote Config 功能,例如載入資料或設定指定目標。
- 用戶端存取權:用戶端應用程式可能會發生 PERMISSION_DENIED 錯誤。
為避免發生這些問題,請將網路設為使用 IPv4,或將必要的 Firebase IP 範圍加入貴組織的許可清單。
參數值優先順序
在伺服器應用程式中,使用 Firebase Admin SDK 搭配 Remote Config 時,您會擷取並載入整個範本,以便根據每個用戶端要求,隨選擷取適當的參數值。一個參數可能有多個相關聯的條件值。
下列規則會決定在特定時間點評估範本時,系統會指派哪個值:
首先,系統會針對特定用戶端要求中評估為
true的任何條件,套用條件值。如果有多個條件評估為true,系統會優先採用 Firebase 控制台 UI 中顯示的最上方條件,並在評估範本時提供與該條件相關聯的條件值。如要變更條件的優先順序,請在「Conditions」(條件) 頁面中拖放條件。如果沒有任何條件值的條件評估結果為
true, 系統會在範本評估期間提供 Remote Config 的預設值。 如果範本中沒有某個參數,或預設值設為「Use in-app default」(使用應用程式內預設值),則評估範本時不會提供該參數的值。
如要進一步瞭解如何在伺服器應用程式中載入及評估 Remote Config 範本,請參閱「在伺服器環境中使用 Remote Config」。
參數值資料類型
Remote Config 可讓您為每個參數選取資料類型,並在範本更新前,根據該類型驗證所有 Remote Config 值。資料類型會儲存並在 getRemoteConfig 要求中傳回。
支援的資料類型如下:
StringBooleanNumberJSON
在 Firebase 控制台 UI 中,您可以從參數索引鍵旁的下拉式選單中選取資料類型。在 REST API 中,可以使用參數物件中的 value_type 欄位設定類型。
參數群組
Remote Config 可將參數分組,讓使用者介面更井然有序,並提升可用性。
舉例來說,假設您在推出新的登入功能時,需要啟用或停用三種不同的驗證類型。使用 Remote Config,您可以建立三個參數來啟用所需類型,然後將這些參數整理到名為「New login」的群組中,不必新增前置字元或特殊排序。
您可以使用 Firebase 控制台或 Remote Config REST API 建立參數群組。您建立的每個參數群組在 Remote Config 範本中都有不重複的名稱。建立參數群組時,請注意下列事項:
- 參數一次只能加入一個群組,且參數鍵在所有參數中仍須不重複。
- 參數群組名稱長度上限為 256 個半形字元。
- 如果您同時使用 REST API 和 Firebase 控制台,請務必更新所有 REST API 邏輯,以便在發布時處理參數群組。
使用 Firebase 控制台建立或修改參數群組
您可以在 Firebase 控制台中將參數分組。建立或修改群組的方法如下:
- 在 Firebase 控制台中,依序前往「DevOps & Engagement」 >「遠端設定」 >「Parameters」(參數) 頁面。
- 選取「管理群組」。
- 勾選要新增的參數,然後選取「Move to group」(移至群組)。
- 選取現有群組,或輸入名稱和說明,然後選取「Create new group」(建立新群組),建立新群組。儲存群組後,您可以使用「Publish changes」(發布變更) 按鈕發布群組。
條件規則類型
伺服器應用程式的 Remote Config 範本支援下列條件類型:
隨機百分比中的使用者
使用這個欄位,將變更套用至隨機抽樣的應用程式執行個體 (樣本大小可小至 .0001%),並使用滑桿小工具將隨機排列的使用者 (應用程式執行個體) 分成多個群組。
系統會根據該專案中定義的種子,將每個應用程式執行個體持續對應至隨機整數或分數。
除非您修改種子值,否則規則會使用預設金鑰 (在 Firebase 控制台中顯示為「Edit seed」(編輯種子))。如要讓規則恢復使用預設金鑰,請清除「Seed」欄位。
如要在指定百分比範圍內,持續指定相同的應用程式執行個體,請在不同條件中使用相同的種子值。或者,您也可以指定新的種子,為特定百分比範圍選取一組隨機指派的新應用程式執行個體。
舉例來說,如要建立兩個相關條件,分別套用至不重疊的 5% 應用程式使用者,您可以將其中一個條件設為比對 0% 到 5% 之間的百分比,並將另一個條件設為比對 5% 到 10% 之間的範圍。如要允許部分使用者隨機出現在兩個群組中,請為每個條件中的規則使用不同的種子值。
如要瞭解如何在應用程式中新增隨機百分比條件,請參閱「設定伺服器應用程式」。
自訂信號條件
您可以使用「自訂信號」條件值,比對應用程式中定義的任意條件。這可讓您根據每個用戶端要求,量身打造伺服器回應。下列伺服器環境版本支援自訂信號條件:
- Firebase Admin Node.js SDK 12.1.0 以上版本
- Firebase Admin Python SDK 6.7.0 以上版本
- Firebase Admin Go SDK v4.17.0 以上版本
- Firebase Admin Java SDK 9.7.0 以上版本
舉例來說,如果您正在開發伺服器應用程式,使用生成式 AI 協助製作回應,並針對特定平台調整不同模型,可以採取下列做法:
- 在 Remote Config 伺服器範本中加入
prompt和model_name參數。 - 為每個要指定的平台,新增值為
platform的自訂信號條件。 - 在伺服器專屬的 Remote Config 範本中新增預設值,並為定義的每個平台條件新增條件值。
- 更新應用程式程式碼,設定並使用
platform自訂信號。
現在,應用程式可以在範本評估期間擷取適當的提示和模型,並使用這些提示和模型向每位用戶端傳回自訂回覆。
您可以使用下列規則類型,在 Firebase 控制台中建立自訂信號條件。
| 運算子類別 | 運算子 | 值 |
|---|---|---|
| 文字 | 完全比對、包含、不包含、包含規則運算式 |
這項規則的字串比較會區分大小寫。使用「完全比對」、「包含」、「不包含」或「包含規則運算式」運算子時,您可以選取多個值。 使用「包含規則運算式」運算子時,您可以建立 RE2 格式的規則運算式。規則運算式可以比對全部或部分目標版本字串。您也可以使用 ^ 和 $ 錨定標記,比對目標字串的開頭、結尾或整個字串。 |
| Numbers | <、<=、=、!=、>、>= | 小數點前後最多 10 位數。 |
| 版本 | <、<=、=、!=、>、>= | 代表要比對的版本號碼 (例如 2.1.0)。 |
如要瞭解如何在應用程式中加入自訂信號,請參閱「設定伺服器應用程式」。
搜尋參數和條件
如要搜尋專案的參數鍵、參數值和條件,請前往 Firebase 控制台,依序點選「DevOps & Engagement」>「遠端設定」>「參數」,然後使用頁面頂端的搜尋框。
參數和條件限制
在 Firebase 專案中,最多可有 3,000 個參數和 2,000 個條件。參數鍵長度上限為 256 個半形字元,開頭必須是底線或英文字母 (A 至 Z、a 至 z),其他部分則可使用數字。專案中參數值字串的總長度不得超過 1,000,000 個字元。此外,根據使用者屬性設定的條件規則,最多可包含 100 個使用者屬性值。如需完整的限制清單,請參閱「配額與限制」。
查看參數和條件的變更
您可以透過Firebase控制台查看 Remote Config 範本的最新變更。您可以對個別參數和條件執行下列操作:
查看上次修改參數或條件的使用者名稱。
如果變更發生在當天,請查看變更發布到有效 Remote Config 範本後經過的分鐘數或小時數。
如果變更發生在一天或多天前,請查看變更發布至有效Remote Config範本的日期。
參數變更記錄
在 Firebase 控制台中,依序前往「DevOps & Engagement」 >「遠端設定」 >「Parameters」(參數) 頁面。「上次發布」欄會顯示上次修改各參數的使用者,以及變更的上次發布日期:
如要查看分組參數的變更中繼資料,請展開參數群組。
如要依發布日期遞增或遞減排序,請按一下「Last published」(上次發布時間) 欄標籤。
條件變更記錄
在 Firebase 控制台中,依序前往「DevOps & Engagement」 >「遠端設定」 >「Conditions」(條件) 頁面。在每個條件下方的「上次修改時間」旁,您可以看到上次修改條件的使用者和修改日期。
後續步驟
如要設定 Firebase 專案和伺服器應用程式,以便使用 Remote Config,請參閱「在伺服器環境中使用 Remote Config」。