菜单

用户属性上报

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

通过本功能,您可以:

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

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

设置用户属性

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

// 若某key已存在则覆盖,否则将自动创建并赋值
JSONObject jsonObject = new JSONObject();
jsonObject.put("$name", "turboUserName");
jsonObject.put("$gender", "男");
gravityEngineSDKInstance.user_set(jsonObject);

初始化用户属性

对于只在首次设置时有效的属性,我们可以使用 user_setOnce 记录这些属性。与 user_set 方法不同的是,如果被设置的用户属性已存在,则这条记录会被忽略而不会覆盖已有数据,如果属性不存在则会自动创建。因此,user_setOnce 适用于为用户设置首次激活时间、首次注册时间等属性。例如:

JSONObject jsonObject = new JSONObject();
jsonObject.put("$gender", "male");
gravityEngineSDKInstance.user_setOnce(jsonObject);

累加用户属性

对于数值型的用户属性,可以使用 user_increment 对属性值进行累加。常用于记录用户付费次数、付费额度、积分等属性。例如:

// 增加或减少一个用户的某个NUMBER类型的Profile值
gravityEngineSDKInstance.user_increment("$age", 27);

用户属性取最大值

对于数值型的用户属性,可以使用 user_max 用来比较数值大小,保存较大的,如果没有这个 key,则新增 key,value 取本次的值

gravityEngineSDKInstance.user_max("ad_ecpm_max", 300);

用户属性取最小值

对于数值型的用户属性,可以使用 user_min 用来比较数值大小,保存较小的,如果没有这个 key,则新增 key,value 取本次的值

gravityEngineSDKInstance.user_min("ad_ecpm_min", 100);

用户属性追加(Array)

对用户喜爱的电影、用户点评过的餐厅等属性,可以调用 user_append 记录列表型属性,例如:

// 向某个用户的某个数组类型的用户表添加一个或者多个值,默认不去重
JSONArray moviesJsonArray = new JSONArray();
moviesJsonArray.put("Interstellar");
moviesJsonArray.put("The Negro Motorist Green Book");
JSONObject jsonObject = new JSONObject();
jsonObject.put("Movies", moviesJsonArray);
gravityEngineSDKInstance.user_append(jsonObject);

用户属性去重追加(Array)

调用 user_uniqAppend 用来对 Array 类型的用户数据去重追加元素,例如:

// 向某个用户的某个数组类型的用户表添加一个或者多个值,会做去重
JSONArray moviesJsonArray = new JSONArray();
moviesJsonArray.put("Interstellar");
moviesJsonArray.put("The Negro Motorist Green Book");
JSONObject jsonObject = new JSONObject();
jsonObject.put("Movies", moviesJsonArray);
gravityEngineSDKInstance.user_uniqAppend(jsonObject);

清空用户属性

调用 user_delete 方法,将把当前用户属性清空,您将无法再查询该名用户的用户属性,但该用户产生的事件仍然可以被查询到

// // 删除一个用户的所有属性值
gravityEngineSDKInstance.user_delete();

重置用户属性

如果需要重置已设置的某个用户属性,可以调用 user_unset 进行取消:

// 将某个用户的某些属性值设置为空
gravityEngineSDKInstance.user_unset("$name");
上一个
行为事件上报
下一个
进阶功能
最近修改: 2025-08-23Powered by