RemoteConfig

RemoteConfig 表示一个 Remote Config 模板。

在提取每个应用实例的过程中,系统会对项目的 Remote Config 模板进行评估。

注意:服务器模板目前支持百分比条件。发布包含不受支持的条件值的服务器模板将返回验证错误。如需了解详情,请参阅服务器环境中的 Remote Config

参数的解析值按如下方式确定:

给定引用应用实例的 true conditionsconditional values,该参数的解析值是条件值,其中 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,则 Remote Config 服务器不会向客户端返回任何 fruit 值。

通过成功的 projects.updateRemoteConfig 调用发布项目的 Remote Config 模板后,客户端就可以提取这些参数值并将其显示给用户。

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 用户可以将与同一功能或主题相关联的参数归为一组,以方便组织访问。

例如,名为“Search V2”的参数组可能会显示description“新的移动搜索视图”并包含新搜索的布局和字体的参数。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

RemoteConfigCondition

定位特定用户组的条件。这些条件的列表构成 RemoteConfig 对象。

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

string

必需。此条件的非空唯一名称。

expression

string

必需。此条件的逻辑。

如需了解此字段的预期语法,请参阅有关条件表达式的文档。

tagColor

enum (ConditionDisplayColor)

可选。与此条件关联的颜色,用于在 Firebase 控制台中显示。未指定此值或包含“CONDITION_DISPLAY_COLOR_UNSPECIFIED”会导致 Console 选择任意颜色来与该条件相关联。

条件显示颜色

为显示目的而与条件相关联的颜色列表。

枚举
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE 蓝色
BROWN 棕色
CYAN 蓝绿色
DEEP_ORANGE 又名“红橙色”
GREEN 绿色
INDIGO 靛蓝色
LIME 绿黄色
ORANGE 橙色
PINK 粉色
PURPLE 紫色
TEAL 青色

RemoteConfigParameter

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, value) 映射。此参数的值由最高优先级(RemoteConfig 的条件列表中最先列出的条件)的 condition_name 决定。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

description

string

可选。此参数的说明。其长度不得超过 256 个字符。描述可以包含任何 Unicode 字符。

valueType

enum (ParameterValueType)

当前版本的模板中此参数所有值的数据类型。如果未指定,则默认为 ParameterValueType.STRING

RemoteConfig 参数值

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 实验服务管理的动态发布值。

个性化值

包含提取个性化值的必要信息。

JSON 表示法
{
  "personalizationId": string
}
字段
personalizationId

string

表示个性化定义的标识符。此定义用于在配置提取时解析该值。请勿修改系统生成的这个值。

发布值

与发布相关的信息。

JSON 表示法
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
字段
rolloutId

string

用于将参数值与发布实验相关联的标识符。

value

string

要发布的用户指定的值。

percent

number

将收到发布值的用户所占的百分比。

ParameterValueType

参数值接受的数据类型。

枚举
PARAMETER_VALUE_TYPE_UNSPECIFIED 无法识别枚举值的综合。
STRING 表示字符串值。
BOOLEAN 表示布尔值(“true”或“false”)。
NUMBER 表示正整数和负整数和浮点值。
JSON 表示 JSON 值。

RemoteConfig 参数组

一组命名的参数。分组参数仅用于管理目的,不会影响在客户端提取参数值。

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" }