创建用户上下文

云眼About 2 min

创建用户上下文

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

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

版本

SDK v1.6.0 及更高版本

描述

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

参数

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

参数类型描述
用户ID(必选)字符串用户的ID。
属性(可选)Map自定义键值字符串对的映射,用于指定用于受众群体定位的用户属性。有关更多详细信息,请参阅以下部分。

受众群体属性

==================================

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

🚧 重要

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

返回

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

Go

eyeofcloudFactory := client.EyeofcloudFactory{SDKKey: "sdk-key"} 
client, _ := eyeofcloudFactory.StaticClient() 

// option 1: create a user, then set attributes 
user := client.CreateUserContext("user123", nil) 
user.SetAttribute("is_logged_in", false) 
user.SetAttribute("app_version", "1.3.2")  

// option 2: pass attributes when creating the user 
attributes := map[string]interface{}{     
    "device":       "iPhone",   
    "lifetime":     24738388,   
    "is_logged_in": true,   
    "app_version":  "4.3.0-beta", 
} 
user = client.CreateUserContext("user123", attributes)
Last update:
Contributors: zhangweixue