RemoteConfig

遠端設定代表遠端設定範本。

系統會在每個應用程式執行個體擷取過程中,評估專案的遠端設定範本。

注意:伺服器範本目前支援百分比條件。如果您發布的伺服器範本含有不支援的條件值,系統會傳回驗證錯誤。詳情請參閱「伺服器環境中的遠端設定」一文。

參數的解析值決定如下:

假設 conditional values 參照應用程式例項的 true conditions,該參數的解析值會是條件值,其 nameconditions list 中的最早。

否則,如果參數包含 default value,則解析值會設為預設值。

否則,此參數便沒有值,系統會從應用程式執行個體擷取的結果中省略該參數。

舉例來說,假設我們有參數鍵 fruit,預設值為 pear,條件子值子對應 {"is_ios": "apple", "is_in_20_percent": "banana"},其中 "is_ios""is_20_percent" 是已排序條件清單中的條件名稱。如果 is_ios 為 true,fruit 值會評估為 apple。否則,如果 is_in_20_percenttruefruit 會評估為 banana;如果 is_iosis_in_20_percent 皆為 false,則 fruit 會評估為 pear。如果沒有指定預設值,且 is_iosis_in_20_percent 皆為 false,則遠端設定伺服器就不會將 fruit 的值從遠端設定伺服器傳回至用戶端。

透過成功的 projects.updateRemoteConfig 呼叫發布專案的遠端設定範本後,用戶端即可擷取這些參數值並向使用者顯示。

JSON 表示法
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
欄位
conditions[]

object (RemoteConfigCondition)

按優先順序遞減排序的條件清單。

google.firebase.remoteconfig.v1.RemoteConfigCondition.name 項目的值不得重複。

parameters

map (key: string, value: object (RemoteConfigParameter))

將參數鍵對應至選用預設值和選用的條件式值。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

version

object (Version)

僅供輸出,description 版本除外。與特定範本版本相關聯的中繼資料。版本的說明欄位可在 projects.updateRemoteConfig 呼叫中指定。

parameterGroups

map (key: string, value: object (RemoteConfigParameterGroup))

將參數群組名稱對應至其說明和分組的參數。群組名稱可以變動,但不得與設定中的群組名稱重複。長度上限為 256 個半形字元,且為使用者可理解的名稱。允許使用任何 Unicode 字元。

群組會提供一份參數清單,讓 API 使用者將具有相同功能或主題的參數分組,方便機構存取。

例如,假設某個參數群組的名稱是「搜尋 V2」也可能出現「新版行動搜尋檢視畫面」description且包含新搜尋版面配置和字型的參數。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

遠端設定條件

指定特定一群使用者的條件。這些條件清單構成 RemoteConfig 物件中的一部分。

JSON 表示法
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
欄位
name

string

執行個體類型,此條件的非空白且專屬名稱。

expression

string

執行個體類型,此條件的邏輯。

如要瞭解這個欄位的預期語法,請參閱條件運算式的說明文件。

tagColor

enum (ConditionDisplayColor)

選用設定。Firebase 控制台會顯示用來顯示此條件的關聯顏色。未指定這個值或含有「CONDITION_DISPLAY_COLOR_UNSPECIFIED」結果中,控制台會挑選任意顏色來與條件建立關聯。

條件顯示顏色

與「條件」相關聯的顏色清單 (顯示用)。

列舉
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE 藍色
BROWN 布朗大學 (Brown University)
CYAN 青色
DEEP_ORANGE 也就是「紅橘」
GREEN 綠色
INDIGO 靛藍色
LIME 萊姆綠
ORANGE 橘色
PINK 粉紅色
PURPLE 紫色
TEAL 藍綠色

遠端設定參數

google.firebase.remoteconfig.v1.RemoteConfig.parameters 中的參數鍵相關聯的參數值。

參數必須至少有 defaultValueconditionalValues 項目,參數才能發揮作用。

JSON 表示法
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
欄位
defaultValue

object (RemoteConfigParameterValue)

選用 - 沒有已命名條件評估為 true 時,要設定參數的值。

conditionalValues

map (key: string, value: object (RemoteConfigParameterValue))

選用 - (condition name,值) 對應。最高優先順序 (RemoteConfig 條件清單中第一個列出者) 的 condition_name 會決定這個參數的值。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

description

string

選用設定。此參數的說明。長度必須小於或等於 256 個字元 。說明則可包含任何萬國碼 (Unicode) 字元。

valueType

enum (ParameterValueType)

目前範本版本中這個參數的所有值的資料類型。如未指定,預設值為 ParameterValueType.STRING

遠端設定參數值

RemoteConfigParameterValue 資源內含參數可能具備的值。

JSON 表示法
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  },
  "rolloutValue": {
    object (RolloutValue)
  }
  // End of list of possible types for union field value_option.
}
欄位
聯集欄位 value_option。RemoteConfigParameterValue 是由字串 (值) 或布林值 (use_in_app_default) 組成,如果適用,請設為 true。value_option 只能採用下列其中一種設定:
value

string

參數設定的目標字串值。

useInAppDefault

boolean

設為 true 時,傳回用戶端的參數值會省略該參數。

personalizationValue

object (PersonalizationValue)

擷取設定時系統計算出的動態使用者專屬值。

rolloutValue

object (RolloutValue)

由 Firebase ABT 實驗服務管理的動態推出作業值。

PersonalizationValue

包含擷取個人化值的必要資訊。

JSON 表示法
{
  "personalizationId": string
}
欄位
personalizationId

string

代表個人化定義的 ID。這項定義是用來解析設定擷取時間的值。請勿修改這個系統產生的值。

推出值

推出作業的相關資訊。

JSON 表示法
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
欄位
rolloutId

string

用來將參數值與推出作業實驗建立關聯的 ID。

value

string

要推出的使用者指定值。

percent

number

會收到推出值的使用者百分比。

ParameterValueType

接受的參數值資料類型。

列舉
PARAMETER_VALUE_TYPE_UNSPECIFIED 針對無法辨識的列舉值全部設定全部接收。
STRING 代表字串值。
BOOLEAN 代表布林值 (「true」或「false」)。
NUMBER 代表正整數和負整數及浮點值。
JSON 代表 JSON 值。

RemoteConfigParameterGroup

已命名參數群組。將參數分組僅用於管理,不會影響用戶端擷取參數值。

JSON 表示法
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
欄位
description

string

選用設定。群組的說明。長度不得超過 256 個半形字元。說明則可包含任何萬國碼 (Unicode) 字元。

parameters

map (key: string, value: object (RemoteConfigParameter))

將參數鍵對應至選用的預設值,以及屬於這個群組的參數選用條件值。每個 RemoteConfig 的參數都只會出現一次:未分組的參數會顯示在頂層;在群組中整理的參數會顯示在群組的參數對應中。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }