云眼分桶结果 EyeofcloudDecision
云眼分桶结果 EyeofcloudDecision
本主题介绍 React Native SDK 的 EyeofcloudDecision 对象,该对象是从 Eyeofcloud灰度发布(特性标帜) 中的 decide 方法返回的。
版本
SDK v2.5 及更高版本
对象模型
下面显示了云眼决策对象的接口。
打字稿
interface EyeofcloudDecision { variationKey: string | null; enabled: boolean; variables: { [variableKey: string]: unknown }; ruleKey: string | null; flagKey: string; userContext: { id: string | null; attributes?: { [name: string]: any }; }; reasons: string[]; }
下表描述了云眼决策对象的字段:
田
类型
描述
启用
布尔
该标帜是否已启用。优化从不为此字段返回空值;当由于错误而无法做出决定时,它返回 false。
变量
Map
所有标帜变量的键值对。当没有为标帜定义变量或 SDK 无法获取变量时,此字段将返回空映射。当 SDK 无法获取决策的变量时,“原因”字段将包含错误消息,而不考虑“包括原因”选项。
变体键
字符串(可为空)
当 SDK 无法做出决定时,此字段将返回 null,并且“原因”字段包含日志消息(如果设置了“包括原因”选项)。
在旧项目中,存在一种边缘情况:1. 原因字段中没有消息和 2.变体键字段中的空值表示找不到变体(例如,因为标帜是转出的一部分)。
规则键
字符串(可为空)
用户为此决策存储到的标帜规则的键。
当有效的规则键不可用时,将返回实验键的副本。
如果未找到有效的规则键和实验键,则返回 null。
旗键
字符串
做出决定的标帜的密钥。
用户上下文
用户信息
与调用 Decide 方法关联的用户的用户 ID 和属性。
原因
数组
按时间顺序排列的相关错误和日志消息的数组。云眼灰度发布(特性标帜)AB实验在此字段中返回消息:
- 在做出决策时检测到错误时。
- 当在决定选项
中启用决策原因时 - 没有消息时为空数组。
有关详细信息,请参阅以下部分。
原因
返回的决策对象在“原因”字段中包含错误和日志消息。
错误原因
为了与其他决策结果保持一致,云眼灰度发布(特性标帜)AB实验返回具有空字段的决策,而不是引发错误或异常。
Critical errors are always included in the reasons field of the returned decision object regardless of the include reasons option you set on the Decide method.
错误
可能的原因
零variationKey
- 云眼灰度发布(特性标帜)AB实验 React原生 SDK 尚未
正确配置 - 用户上下文无效
- 找不到键的标帜
空variables
- 云眼JSON
的变量无效 - 键的变量值无效或类型错误
日志原因
云眼灰度发布(特性标帜)AB实验按日志消息的记录顺序收集返回的 EyeofcloudDecision 对象的“原因”字段中的日志消息。
只有在 Determined 方法上设置了“包括原因”选项时,以下类型的日志消息才会包含在“原因”字段中:
- 根据受众或属性记录与分桶用户相关的消息。
- 根据流量百分比记录与分桶用户相关的消息。
源文件
包含 React Native 实现的语言/平台源文件是 index.ts。