菜单

用户属性上报

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

通过本功能,您可以:

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

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

设置用户属性

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

Objective-C
// 设置用户属性
//此时"username"为"GravityEngineUser"
[instance user_set:@{@"username": @"GravityEngineUser"}];
//此时"username"为"TestUserName"
[instance user_set:@{@"username": @"TestUserName"}];

初始化用户属性

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

Objective-C
//first_payment_time为2023-01-01 04:43:35.968
[instance user_set_once:@{@"first_payment_time": @"2023-01-01 04:43:35.968"}];
//first_payment_time仍然为2023-01-01 04:43:35.968
[instance user_set_once:@{@"first_payment_time": @"2018-12-31 01:23:45.678"}];

累加用户属性

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

Objective-C
//此时$age为30
[instance user_increment:@{@"$age": @30}];

//此时$age为32
[instance user_increment:@{@"$age": @2}];

用户属性取最大值

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

Objective-C
//此时$age为30
[instance user_number_max:@{@"$age": @30}];

//此时$age仍为30
[instance user_number_max:@{@"$age": @27}];

用户属性取最小值

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

Objective-C
//此时$age为30
[instance user_number_min:@{@"$age": @30}];

//此时$age仍为30
[instance user_number_min:@{@"$age": @100}];

Array 追加

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

Objective-C
// 调用 user_append 为用户属性 Movies 追加元素。如果不存在,会新建该元素
[instance user_append:@{@"Movies": @[@"Interstellar", @"The Negro Motorist Green Book"]}];

Array 去重追加

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

Objective-C
// 调用 user_uniqAppend 为用户属性 Movies 去重追加元素。如果不存在,会新建该元素
[instance user_uniqAppend:@{@"Movies": @[@"Interstellar", @"The Negro Motorist Green Book"]}];

清空用户属性

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

Objective-C
[instance user_delete];

重置用户属性

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

Objective-C
// 清空该用户的累计付费金额属性值
[instance user_unset:@"total_pay"];
Swift
// 清空该用户的累计付费金额属性值
instance.user_unset("total_pay")
 
 
 
上一个
行为事件上报
下一个
进阶功能
最近修改: 2025-08-23Powered by