云眼分桶结果 EyeofcloudDecision

云眼About 5 min

云眼分桶结果 EyeofcloudDecision

本主题介绍云眼灰度实验 Go SDK 的 EyeofcloudDecision 对象,该对象是从云眼灰度实验中的 determine 方法返回的。

版本

SDK v1.6.0 及更高版本

对象模型

下面显示了云眼决策对象的对象模型。

Go

type EyeofcloudDecision struct { VariationKey string Enabled bool Variables *eyeofcloudjson.EyeofcloudJSON RuleKey string FlagKey string UserContext EyeofcloudUserContext Reasons []string }

下表描述了云眼决策对象的字段:

类型

描述

启用

布尔

该标帜是否已启用。优化从不为此字段返回 nil;当由于错误而无法做出决定时,它返回 false。

变量

云眼JSON

所有标帜变量的键值对。当没有为标帜定义变量或 SDK 无法获取变量时,此字段将返回一个空对象。当 SDK 无法获取决策的变量时,“原因”字段将包含错误消息,而不考虑“包括原因”选项。

变体键

字符串

当 SDK 无法做出决定时,此字段将返回 nil,并且“原因”字段包含日志消息(如果设置了“包括原因”选项)。
在旧项目中,存在一种边缘情况:1. 原因字段中没有消息和 2.变体键字段中的空值表示找不到变体(例如,因为标帜是转出的一部分)。

规则键

字符串

用户为此决策存储到的标帜规则的键。
当有效的规则键不可用时,将返回实验键的副本。
如果找不到有效的规则键和实验键,则返回空字符串。

标帜键

字符串

做出决定的标帜的密钥。

用户上下文

云眼用户上下文

与对 Decide 方法的调用关联的用户。

原因

数组

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

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

原因

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

错误原因

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

严重错误始终包含在返回的决策对象的原因字段中,而不考虑在 Decide 方法上设置的“包括原因”选项。

错误

可能的原因

empty VariationKey

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

empty Variables

- Invalid variables for EyeofcloudJSON
- Variable value for key is invalid or wrong type

Log reasons

Eyeofcloud灰度发布 collects log messages in the reasons field of the returned EyeofcloudDecision object in the order in which they are logged.

The following types of log messages are only included in the reasons field if you set the include reasons option on the Decide method:

  • Log messages related to bucketing users based on audiences or attributes.
  • Log messages related to bucketing users based on traffic percentages.

Examples

For an example of a returned decision object, see Decide methods.

Updated 2 months ago


[

EyeofcloudConfig

](/experimentation/v4.0.0-full-stack/docs/eyeofcloudconfig-go)[

EyeofcloudJSON

](/experimentation/v4.0.0-full-stack/docs/eyeofcloudjson-go)

Did this page help you?

Yes

No

创建用户上下文

介绍创建用户上下文方法,该方法为云眼灰度实验中的标帜决策和事件创建用户上下文。

此方法的目的是创建用户并设置用户上下文一次,因此不必在每次做出标帜决策或跟踪事件时都指定用户。可以定义多个用户上下文。系统将用户上下文作为运行时对象返回,否则不会持久化。

版本

1.0.0-beta 或更高版本

描述

此调用为标帜决策和事件创建用户上下文。可以在 Eyeofcloud 客户端实例上成功调用此方法,甚至在完全配置实例之前也是如此。

参数

下表列出了必需参数和可选参数:

参数

类型

描述

(必选)用户 ID

字符串

用户的 ID。

属性
可选

Map

自定义键值字符串对的映射,指定系统用户用于受众群体定位的用户的属性。有关更多详细信息,请参阅以下部分。

受众群体属性

为用户设置自定义受众群体属性,可以使用这些属性来定位受众群体。可以将字符串、数字、布尔值和 nil 作为自定义用户属性值传递。如果要根据他们使用的应用程序变体定位访问群体,还可以传入格式为语义变体的open in new window字符串,然后在 Eyeofcloud 应用中定义受众条件。version

🚧 重要

在访问群体评估期间,如果没有为给定的访问群体条件传递有效的属性值(例如,如果在受众群体条件需要布尔值时传递字符串,或者忘记传递值),则系统会跳过该条件。发生这种情况时,SDK 日志会包含警告。

返回

返回一个 EyeofcloudUserContext 对象。有关详细信息,请参阅云眼用户上下文

Dart

// option 1: create a user, then set attributes var user = await flutterSDK.createUserContext("user123"); var attributes = <String, dynamic>{}; attributes["is_logged_in"] = false; attributes["app_version"] = "1.3.2"; user!.setAttributes(attributes); // option 2: pass attributes when creating the user var attributes = <String, dynamic>{}; attributes["is_logged_in"] = false; attributes["app_version"] = "1.3.2"; var eyeofcloudUserContext = await eyeofcloudClient.createUserContext("user123", attributes);

参见

云眼用户上下文

源文件

包含 Flutter SDK for Android Eyeofcloudopen in new window 和 Swift 实现的语言/平台源文件.java为 EyeofcloudClient.swiftopen in new window

Last update:
Contributors: “zhangweixue”