云眼分桶结果 EyeofcloudDecision

云眼About 3 min

云眼分桶结果 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 和属性。

原因

数组

按时间顺序排列的相关错误和日志消息的数组。云眼灰度实验在此字段中返回消息:
- 在做出决策时检测到错误时。
- 当在决定选项
中启用决策原因时 - 没有消息时为空数组。

有关详细信息,请参阅以下部分。

原因

返回的决策对象在“原因”字段中包含错误和日志消息。

错误原因

为了与其他决策结果保持一致,云眼灰度实验返回具有空字段的决策,而不是引发错误或异常。

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

- 云眼灰度实验 React原生 SDK 尚未
正确配置 - 用户上下文无效
- 找不到键的标帜

variables

- 云眼JSON
的变量无效 - 键的变量值无效或类型错误

日志原因

云眼灰度实验按日志消息的记录顺序收集返回的 EyeofcloudDecision 对象的“原因”字段中的日志消息。

只有在 Determined 方法上设置了“包括原因”选项时,以下类型的日志消息才会包含在“原因”字段中:

  • 根据受众或属性记录与分桶用户相关的消息。
  • 根据流量百分比记录与分桶用户相关的消息。

源文件

包含 React Native 实现的语言/平台源文件是 index.tsopen in new window

Last update:
Contributors: “zhangweixue”