遠端設定參數和條件

您可以針對用戶端和伺服器用途設定範本。客戶 範本會向任何導入 Firebase 的應用程式執行個體提供 遠端設定的用戶端 SDK,包括 Android、Apple、Web、Unity Flutter 和 C++ 應用程式遠端設定參數和值的來源: 伺服器專屬範本會提供給遠端設定實作 (包括 Cloud Run 和 Cloud Functions) 使用 Firebase 管理員 Node.js SDK v12.1.0 以上版本。

使用 Firebase 控制台或 遠端設定後端 API 您可以定義一或多個參數 ),並為這些參數提供應用程式內預設值。您可覆寫 定義相關的應用程式內預設值 參數鍵和參數值是字串,但 當您在

使用 Firebase 控制台 Admin SDKRemote Config REST API 您可以為自己的 參數,以及用來指定應用程式群組的條件值 執行個體。每次在 Firebase 控制台中更新設定時 Firebase 會建立並發布新版遠端設定範本。 系統會儲存先前的版本,方便您視需要擷取或復原。 您可以透過 Firebase 控制台、 Firebase Admin SDK 和 REST API,詳情請參閱 管理遠端設定範本版本

本指南說明參數、條件、規則、條件 值,以及系統如何決定各參數值的優先順序 遠端設定伺服器和應用程式。也會詳細說明 用來建立條件的規則

條件、規則和條件值

條件可用於指定一組應用程式執行個體。條件生效 一或多個規則,這些規則必須全部評估為 true,才符合條件 指定應用程式例項的 true。如果規則值是 未定義 (例如沒有可用的值時),該規則會評估為 false

舉例來說,定義 應用程式的啟動頁面可以使用 簡單規則 if device_os = Android

「splash_page」的螢幕擷取畫面參數,顯示 iOS 預設值和 Android 的條件值。

時間條件 可用來控制應用程式顯示特殊遊戲訊息的時機 促銷商品。

一個參數中可以有多個條件 套用不同條件的值,而且參數可以在 專案。在「Parameters」分頁 查看每項指標的擷取百分比 參數的條件值這項指標代表 最近 24 小時內收到每個值。

參數值優先順序

一個參數可能有多個相關聯的條件值。 下列規則會決定要從遠端設定擷取哪些值 伺服器,以及某個應用程式執行個體在特定時間點使用的值 時間:

系統會根據下列優先順序擷取參數值 清單

  1. 第一,如果系統有評估條件時,會套用條件式值 特定應用程式執行個體的 true 要求。如果多項條件的評估結果為 true, 優先採用 Firebase 控制台 UI 中顯示的第一個 (頂端) 參數,以及 系統會在應用程式提供與該條件相關聯的條件式值時 從後端擷取值。如要變更條件的優先順序, 在「Conditions」(條件) 分頁中拖曳條件。

  2. 如果沒有條件值包含得出 true 的條件, 如果應用程式從 後端。如果後端不存在參數,或是預設值是 設為「使用應用程式內預設值」,則系統不會為該參數提供任何值 當應用程式擷取值時。

在您的應用程式中,get 方法會根據以下原因傳回參數值: 不同的優先順序清單

  1. 如果值已從後端擷取,然後啟用,應用程式會使用 擷取的值。已啟用的參數值為永久性。
  2. 如果系統未從後端擷取任何值,或是系統從 遠端設定後端尚未啟用,因此應用程式會使用應用程式內 預設值。

    如要進一步瞭解如何取得及設定預設值,請參閱 下載遠端設定範本預設值

  3. 如未設定應用程式內預設值,應用程式會使用靜態類型 值 (例如 int0booleanfalse)。

這張圖表總結了在 遠端設定後端及您的應用程式:

這張圖表顯示上述已排序清單描述流程

參數值資料類型

遠端設定可讓您為每個參數選取資料類型 建立範本前,依據該類型驗證所有遠端設定值 更新。資料類型在 getRemoteConfig 上儲存及傳回 請求。

目前支援的類型如下:

  • String
  • Boolean
  • Number
  • JSON

在 Firebase 控制台 UI 中,您可透過下一個下拉式選單選取資料類型 加入參數鍵在 REST API 中,您可以使用 value_type 進行設定 ] 欄位的值。

參數群組

遠端設定可讓你將參數分組,使參數更井然有序 使用者介面和心理模型

舉例來說,假設您需要啟用或停用三種驗證類型 新的登入功能遠端設定可讓您 這些參數可讓您視需要啟用類型,然後歸入 「新登入」群組不必加入前置字元或特殊排序

您可以使用 Firebase 控制台或 Remote Config REST API。您建立的每個參數群組在 建立遠端設定範本建立參數群組時,請注意下列事項:

  • 參數一次只能加到一個群組,且 鍵的名稱不得重複。
  • 參數群組名稱的長度上限為 256 個半形字元。
  • 如果您同時使用 REST API 和 Firebase 控制台,請確認所有 REST API 邏輯已更新,可在發布時處理參數群組。

使用 Firebase 控制台建立或修改參數群組

您可以將參數分組 的「Parameters」分頁 也可前往 Firebase 控制台如何建立或修改群組:

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

透過程式建立群組

Remote Config REST API 提供了 建立及發布參數群組 假設您熟悉 REST 且已設定向 API,您可以用程式輔助的方式執行以下步驟,管理群組:

  1. 擷取目前的範本
  2. 新增 JSON 物件來代表參數群組
  3. 使用 HTTP PUT 要求發布參數群組。

parameterGroups 物件包含群組鍵,其中包含巢狀說明和 已分組的參數清單。請注意,每個群組金鑰在全域範圍內都不得重複。

例如,此處摘錄自新增參數的範本修訂版本 群組「新增選單」群組,其中包含一個參數 pumpkin_spice_season

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

條件規則類型

Firebase 控制台支援下列規則類型。對等 Remote Config REST API 提供的功能,如 條件運算式參考資料

規則類型 運算子 注意事項
應用程式 == 根據與 Firebase 相關聯的應用程式,從應用程式 ID 清單中選取 專案。 將應用程式新增至 Firebase 時,您必須輸入軟體包 ID 或 Android 這個套件名稱會定義在清單中顯示為 App ID 的屬性 。

這項屬性的使用方式如下:
  • Apple 平台:請使用應用程式的 CFBundleIdentifier。 您可以在「一般」分頁中找到應用程式的「軟體包 ID」 應用程式的 Xcode 主要目標
  • Android 裝置:請使用應用程式的 applicationId。 您可以在應用程式層級找到 applicationId build.gradle 檔案。
應用程式版本 字串值:
完全符合、
包含、
不包含、
規則運算式

如果是數值:
=、≠、>、≥、<、≤

指定要指定的應用程式版本。

使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的 Android/Apple 應用程式。

Apple 平台:使用應用程式的 CFBundleShortVersionString

注意:請確認您的 Apple 應用程式使用的是 Firebase Apple 平台 SDK 6.24.0 以上版本,因為其中未傳送 CFBundleShortVersionString 較舊版本 (請參閱版本資訊)。

Android 裝置:使用應用程式的 versionName

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

使用規則運算式運算子時,您可以建立規則運算式 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^$ 錨點,與 目標字串的開頭、結尾或完整內容。

版本編號 字串值:
完全符合、
包含、
不包含、
規則運算式

如果是數值:
=、≠、>、≥、<、≤

指定要指定的應用程式版本。

使用這項規則前,您必須使用「應用程式 ID」規則選取 Apple 或 與 Firebase 專案相關聯的 Android 應用程式。

這個運算子僅適用於 Apple 和 Android 應用程式。對應應用程式的 CFBundleVersion (適用於 Apple) 和 versionCode (Android)。 這項規則的字串比較項目是 區分大小寫。

使用完全符合包含不包含 或「規則運算式」運算子,您可以選取多個值。

使用規則運算式運算子時,您可以建立規則運算式 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^$ 錨點,與 目標字串的開頭、結尾或完整內容。

平台 == iOS
Android
網頁版
 
作業系統 ==

指定要指定的作業系統。

使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的網頁應用程式

如果true 作業系統及其版本與指定清單中的目標值相符。
瀏覽器 ==

指定要指定的瀏覽器。

使用這項規則前,您必須使用「應用程式 ID」規則來選取 與 Firebase 專案相關聯的網頁應用程式

如果true 瀏覽器及其版本符合指定清單中的目標值。
裝置類別 是、不是 行動裝置 這項規則會評估存取網頁應用程式的裝置屬於行動裝置或 非行動裝置 (電腦或控制台)。這個規則類型僅適用於網站 應用程式。
語言 位於 選取一或多種語言。 如果指定應用程式執行個體,這項規則就會評估為 true 應用程式安裝在使用下列任一種語言的裝置上。
國家/地區 位於 選取一或多個區域或國家/地區。 如果true 執行個體位於此處所列的任何地區。裝置國家/地區代碼 判斷依據為要求中的裝置 IP 位址或國家/地區代碼 由 Firebase Analytics 決定 (若 Analytics 資料已與 Firebase 共用)。
使用者目標對象 包括至少一個 從清單中選取一或多個 Google Analytics 目標對象 即可看到您設定好的專案

這項規則需要應用程式 ID 規則,才能選取與您的 Firebase 專案。

注意:許多 Analytics 目標對像是由事件或事件定義, 用來衡量使用者屬性的情況 「目標對像中的使用者」規則的一段時間,才會對特定應用程式生效 執行個體。

使用者屬性 字串值:
包含
不包含
完全符合
規則運算式

如果是數值:
=、≠、>、≥、<、≤

注意:在用戶端中,您只能為使用者設定字串值 資源。如果是使用數字運算子的條件, 遠端設定會將 將使用者屬性轉換為整數/浮點值
從可用的 Google Analytics 使用者清單中選取 資源。 如要瞭解如何運用使用者屬性自訂應用程式 使用者族群的區隔,例如 遠端設定和使用者屬性。

如要進一步瞭解使用者屬性,請參閱下列指南:

使用完全符合包含不包含 或「規則運算式」運算子,您可以選取多個值。

使用規則運算式運算子時,您可以建立規則運算式 RE2 中的運算式 格式。規則運算式可與目標版本的所有或部分目標版本相符 字串。您也可以使用 ^$ 錨點,與 開頭為目標字串的開頭、結尾或完整內容。

注意: 自動收集的使用者屬性 目前在建立遠端設定條件時無法使用。
隨機百分比中的使用者 滑桿 (位於 Firebase 控制台, REST API 使用 <=>between 運算子)。 0-100 TB

使用這個欄位將變更套用至應用程式執行個體的隨機樣本 (樣本大小為 .0001%) 將隨機重組的使用者 (應用程式執行個體) 區隔為一組。

每個應用程式執行個體都會永久對應至隨機整個 依據該專案中定義的種子

規則將使用預設鍵 (在 Firebase 控制台)。您可以將規則回傳給 清除「種子」欄位來使用預設鍵。

持續處理指定百分比中的相同應用程式執行個體 範圍則使用同一個種子值或選取新的 隨機指派的一組應用程式執行個體 指定新的種子

舉例來說,要建立兩個相關條件,分別適用於 5% 的應用程式內使用者 只要設定一項條件 介於 0% 到 5% 之間的百分比,並設定另一個條件來比對範圍 介於 5% 到 10% 之間如要允許部分使用者隨機顯示在兩個群組中,請使用 每個條件內的規則都有不同的種子值

已匯入的區隔 位於 選取一或多個已匯入的區隔。 這項規則需要設定自訂 匯入的區隔
日期/時間 之前、之後 指定的日期和時間 (以裝置時區或指定的時區為準) 時區,例如「(GMT+11) 雪梨時間」。 比較目前時間與裝置擷取時間。
初次開啟 之前、之後 指定的日期和時間 (以指定時區為準)。

比對在指定特定範圍內初次開啟指定應用程式的使用者 時間範圍

需要下列 SDK:

  • Google Analytics 專用 Firebase SDK
  • Apple 平台 SDK 9.0.0 以上版本或 Android SDK 21.1.1 以上版本 (Firebase BoM v30.3.0 以上版本)

安裝 ID 位於 指定一或多個要指定的安裝 ID (最多 50 個)。 如果指定的話,這項規則會針對指定安裝評估為 true 安裝 ID 就列在逗號分隔值清單中。

如要瞭解如何取得安裝 ID,請參閱 擷取用戶端 ID
使用者確實存在 (無運算子) 指定目前專案中所有應用程式的所有使用者。

請使用這項條件規則來比對專案內所有使用者,無論如何 應用程式或平台的五花八門

搜尋參數和條件

您可以搜尋專案的參數鍵、參數值和條件 透過 Firebase 控制台 位於遠端設定「參數」分頁頂端的搜尋框。

參數和條件的限制

一項 Firebase 專案中最多可以有 2,000 個參數和 500 個 conditions.參數鍵長度上限為 256 個字元,且必須以 底線或英文字母字元 (A-Z、a-z),也可以包含 數字。專案中參數值字串的總長度不得 超過 1,000,000 個字元

查看參數和條件的異動

如要查看遠端設定範本的最新異動, 查看 Firebase 控制台適用對象 您可以執行以下操作:

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

  • 如果變更發生在同一天內,即可查看幾分鐘或 從變更發布至有效運作中狀態經過時數 遠端設定範本。

  • 如果變更發生在一或多天內,請查看何時發生變更 變更已發布至有效的遠端設定範本。

參數更新

遠端設定參數 「上次發布時間」欄則會顯示上次修改新版本的使用者人數 參數和上次發布日期:

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

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

狀況更新

使用遠端設定 「條件」頁面,可以 可查看上次修改條件的使用者和修改日期 。

後續步驟

如要開始設定 Firebase 專案,請參閱 設定 Firebase 遠端設定專案