菜单

用户属性上报

本文档详细介绍了SDK提供的用户属性上报功能,帮助开发者高效地收集、更新和维护用户画像数据。

通过本功能,您可以:

  • 全面记录用户特征​​:存储用户基础信息(如昵称、性别)、行为偏好等关键数据
  • ​灵活更新用户画像​​:支持覆盖、追加、数值计算等多种更新方式
  • ​构建精准用户模型​​:通过属性组合分析,实现用户分群和个性化服务

目前支持的用户属性设置接口为 UserSetUserSetOnceUserAddUserUnsetUserDeleteUserAppend.

设置用户属性

对于一般的用户属性,您可以调用 UserSet 来进行设置,使用该接口上传的属性将会覆盖原有的属性值,如果之前不存在该用户属性,则会新建该用户属性。

GravityEngineAPI.UserSet(new Dictionary<string, object>()
    {
        {"USER_PROP_NUM", 0},
        {"USER_PROP_STRING", "A3"}
    });

初始化用户属性

如果您要上传的用户属性只要设置一次,则可以调用 UserSetOnce 来进行设置,当该属性之前已经有值的时候,将会忽略这条信息:

GravityEngineAPI.UserSetOnce(new Dictionary<string, object>()
    {
        {"USER_PROP_NUM", -50},
        {"USER_PROP_STRING", "A3"}
    });

累加用户属性

当您要上传数值型的属性时,您可以调用 UserAdd 来对该属性进行累加操作,如果该属性还未被设置,则会赋值 0 后再进行计算,可传入负值,等同于相减操作。

GravityEngineAPI.UserAdd(new Dictionary<string, object>()
    {
        {"USER_PROP_NUM", -100.9},
        {"USER_PROP_NUM2", 10.0}
    });

设置的属性 key 为字符串,Value 只允许为数值。

重置用户属性

如果您需要重置用户的某个属性,可以调用 UserUnset 将该用户指定用户属性的值重置,此接口支持传入字符串、列表、布尔类型的参数:

// 删除单个用户属性
GravityEngineAPI.UserUnset("userPropertyName");

// 删除多个用户属性
GravityEngineAPI.UserUnset(new List<string>() {"age", "$name", "$first_visit_time", "movies"});

UserUnset: 的传入值为被重置属性的 Key 值。

清空用户属性

如果您要删除某个用户,可以调用 UserDelete 将这名用户删除,您将无法再查询该名用户的用户属性,但该用户产生的事件仍然可以被查询到。

GravityEngineAPI.UserDelete();

用户属性追加(Array)

可以调用 UserAppend 为 List 类型的用户属性追加元素:

List<string> propList = new List<string>();
propList.Add("Interstellar");
propList.Add("The Negro Motorist Green Book");

// 为属性名为 movies 的用户属性追加 2 个元素
GravityEngineAPI.UserAppend(new Dictionary<string, object>()
{
    {"movies", propList}
});

用户属性去重追加(Array)

可以调用 UserUniqAppend 为 List 类型的用户属性进行去重追加元素:

List<string> propList = new List<string>();
propList.Add("Interstellar");
propList.Add("The Shawshank Redemption");

// 为属性名为 movies 的用户属性去重追加 2 个元素
GravityEngineAPI.UserUniqAppend(new Dictionary<string, object>()
{
    {"movies", propList}
});

用户属性取最大值

可以调用 UserNumberMax 用来比较数值大小,保存较大的,如果没有这个 key,则新增 key,value 取本次的值

GravityEngineAPI.UserNumberMax("age", 10);

用户属性取最小值

可以调用 UserNumberMin 用来比较数值大小,保存较小的,如果没有这个 key,则新增 key,value 取本次的值

GravityEngineAPI.UserNumberMin("age", 10);
上一个
行为事件上报
下一个
进阶功能
最近修改: 2025-08-23Powered by