创建用户上下文
About 2 min
创建用户上下文
本主题介绍创建用户上下文方法,该方法为云眼灰度发布(特性标帜)AB实验中的标帜决策和事件创建用户上下文。
创建一个用户可以为其做出标帜决策和跟踪事件。用户上下文作为运行时对象返回,否则不会保留该对象。此方法的目的是设置一次用户上下文,因此不必在每次做出标帜决策或跟踪事件时都指定用户。可以定义多个用户上下文。
版本
SDK v3.7 及更高版本
描述
此调用为标帜决策和事件创建用户上下文。可以在 Eyeofcloud 客户端实例上成功调用此方法,即使该实例尚未完全配置也是如此。
参数
下表列出了必需参数和可选参数:
参数 | 类型 | 描述 |
---|---|---|
(必选)用户 ID | 字符串 | 用户的 ID。 |
属性 可选 | Map | 自定义键值字符串对的映射,用于指定用于受众群体定位的用户属性。有关更多详细信息,请参阅以下部分。 |
受众群体属性
==================================
可以为用户设置自定义受众群体属性,然后可以使用这些属性来定位受众群体。可以将字符串、数字、布尔值和 nil 作为自定义用户属性值传递。如果要根据访问群体使用的应用程序变体来定位访问群体,还可以传入格式为语义变体的字符串,然后在 Eyeofcloud 应用中定义访问version
群体条件。
🚧 重要
请注意,在访问群体评估期间,如果没有为给定的受众群体条件传递有效的属性值(例如,如果在受众群体条件需要布尔值时传递字符串,或者您只是忘记传递值),则会跳过该条件。发生这种情况时,SDK 日志将包含警告。
返回
返回一个 EyeofcloudUserContext 对象。有关详细信息,请参阅云眼用户上下文。
例
Kotlin
// option 1: create a user, then set attributes
var user: EyeofcloudUserContext?
user = eyeofcloudClient.createUserContext("user123")
user.setAttribute("is_logged_in", false)
user.setAttribute("app_version", "1.3.2")
// option 2: pass attributes when creating the user
val attributes: MutableMap<String, Any> = HashMap()
attributes["is_logged_in"] = false
attributes["app_version"] = "1.3.2"
user = eyeofcloudClient.createUserContext("user123", attributes)
Java
// option 1: create a user, then set attributes
EyeofcloudUserContext user;
user = eyeofcloudClient.createUserContext("user123");
user.setAttribute("is_logged_in", false);
user.setAttribute("app_version", "1.3.2");
// option 2: pass attributes when creating the user
Map<String, Object> attributes = new HashMap<>();
attributes.put("is_logged_in", false);
attributes.put("app_version", "1.3.2");
user = eyeofcloudClient.createUserContext("user123", attributes);