Remote Config REST API 参考

本页面包含 Remote Config REST API 的参考信息。如需详细了解如何设置和使用此 API,请参阅使用 Remote Config REST API

用于创建条件的元素

您在使用 Firebase 控制台配置远程配置服务时,可用于创建条件的元素同样也可用于 Remote Config API:

元素 说明
&&

用于在多个元素之间创建逻辑“与”关系(如果为某个条件使用了多个元素)。如果在 REST 语法中使用的元素不带 && ,系统会将该元素视为一个条件。

注意:和号前后必须留一个空格。例如:element1 && element2

app.version 求得的值为 TRUEFALSE,具体取决于应用版本号的值。
app.id 一个基于应用的 Firebase 应用 ID 的元素
app.audiences 一个求得的值为 TRUEFALSE(具体取决于用户是否属于一个或多个 Firebase Analytics 受众群体)的元素。
device.language 一个基于设备上所安装的语言的元素。该语言使用 IETF 语言标记(例如 es-ES、pt-BR 或 en-US)来表示。当某个国家/地区与预期的语言代码相符时,求得的值为 TRUE
device.country 一个基于设备所在的国家/地区的元素,遵循 ISO 3166-1 alpha-2 标准(例如,US 或 UK)。当某个国家/地区与预期的国家/地区代码相符时,求得的值为 TRUE
device.os 一个基于设备上使用的操作系统(Android 或 iOS)的元素。当设备的操作系统是预期的类型时,求得的值为 TRUE
app.userProperty 一个求得的值为 TRUEFALSE(具体取决于 Firebase Analytics 用户属性的值是数值还是字符串)的元素。
percent 当用户对应于随机指定的(小数型)百分位(抽样规模最小可以是 0.000001%)时,求得的值为 TRUE

只有一个元素的条件包含三个字段:

  1. 一个任意指定的 name(最多 100 个字符)
  2. 一个由上述元素组成且求得的值为 TRUEFALSE 的条件表达式。
  3. (可选)tagColor,可以是“BLUE”、“BROWN”、“CYAN”、“DEEP_ORANGE”、“GREEN”、“INDIGO”、“LIME”、“ORANGE”、“PINK”、“PURPLE”或“TEAL”。颜色不区分大小写,仅会影响条件在 Firebase 控制台中的显示方式。

支持的运算符

例如,如果实际应用版本为 123 或 492,app.version.notContains([123, 456]) 会返回 TRUE;但是如果实际应用版本为 999,则返回 FALSE
元素 支持的运算符 说明
app.audiences .inAtLeastOne([...]) 如果实际受众群体与列表中的至少一个受众群体名称匹配,则返回 TRUE
例如:


app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) 如果实际受众群体与列表中的至少一个受众群体名称不匹配,则返回 TRUE
app.audiences .inAll([...]) 如果实际受众群体出现在了列表中的每个受众群体中,则返回 TRUE
app.audiences .notInAll([...]) 如果实际受众群体不是列表中任何受众群体的成员,则返回 TRUE
app.userProperty <<===>=> 如果实际用户属性与指定值的数值比较结果与运算符一致,将返回 TRUE
app.userProperty .contains([...]) 如果任何目标值是实际用户属性的子字符串,将返回 TRUE
app.userProperty .notContains([...]) 如果目标值都不是实际用户属性的子字符串,将返回 TRUE
app.userProperty .exactlyMatches([...]) 如果实际用户属性与列表中的任何目标值完全匹配(区分大小写),将返回 TRUE
app.userProperty .matches([...]) 如果列表中的任何目标正则表达式与整个实际值或该值的子字符串匹配,将返回 TRUE要强制与整个字符串匹配,请在正则表达式前面和后面分别加上“^”和“$”。请使用 RE2 语法。
app.id == 如果指定的值与相应应用的应用 ID 匹配,将返回 TRUE
app.version .contains([...]) 如果任何目标值是实际应用版本的子字符串(例如“a”和“b”是“abc”的子字符串),将返回 TRUE
app.version .notContains([...]) 如果目标值都不是实际应用版本的子字符串,将返回 TRUE
app.version .exactlyMatches([...]) 如果实际应用版本与列表中的任何目标值完全匹配,将返回 TRUE
app.version .matches([...]) 如果列表中的任何目标正则表达式与整个实际值或该值的子字符串匹配,将返回 TRUE要强制与整个字符串匹配,请在正则表达式前面和后面分别加上“^”和“$”。请使用 RE2 语法。
device.country in [...] 如果设备的国家/地区(由该设备的当前 IP 地址确定)与列表中指定的任意国家/地区匹配,将返回 TRUE。示例用法:device.country in ['gb', 'us']
device.language in [...] 如果相应应用的任一种语言与列表中的某种语言匹配,则返回 TRUE。示例用法:device.language in ['en-UK', 'en-US']
device.os ==!= 如果设备的操作系统与该字段中的值的比较结果与相应运算符一致,则返回 TRUE
percent <=> 如果 percent 字段中的值与随机指定的值的比较结果与相应运算符一致,则返回 TRUE
app.predictions .inAtLeastOne([...]) 如果指定的目标预测风险概况 ID 出现在预测结果中,则返回 TRUE。目前,该条件仅支持定位一个预测风险概况 ID。示例用法:app.predictions.inAtLeastOne(['pred']);如果 'pred' 出现在预测结果中,则返回 TRUE

包含空字符串的参数和没有值的参数

当您在远程配置网络控制台中创建或修改参数值时,您可以选择将参数值设置为字符串值、(空字符串)没有值。如果设置为“没有值”,则会使系统使用应用内默认值,而不是远程配置模板中的值。

当您使用 Remote Config API 为您的项目获取 JSON 格式的远程配置模板时,可以按如下方式表示没有值

"myCondition" : {
  "useInAppDefault" : true
},

同样,您可以按如下方式表示(空字符串)

"myCondition" : {
  "value" : ""
},

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面