菜单

设置用户属性

在热力引擎中,专门提供了针对用户属性设置数据的上报方法,针对用户的属性添加或变更,您可以通过该方法进行上报。

建议您将与用户相关的不变的、或变化频率比较低、或保存价值比较高的属性,比如年龄、创建角色时间、等级、所在地、首次付费时间、总付费金额等属性设置为用户属性,其它变化频率比较高的属性通过事件进行上报和记录。

用户属性设置分为以下几种方式,userPropertiesInit,userPropertiesUpdate,userPropertiesAdd,userPropertiesUnset,userPropertiesAppend,userPropertiesDelete,由开发者调用,对用户属性进行设置。

注:

  1. 用户属性格式要求与事件属性保持一致。
  2. 所有用户属性设置事件上报时设置的自定义属性均不能为"_"下划线开头,"_"下划线开头为SDK保留字段,开发者设置则直接报错丢弃。

 

userPropertiesInit

如果您要上传一批用户属性,其中已经存在的用户属性不去更新属性值、不存在的属性进行创建并保存属性值,则可以调用 userPropertiesInit 来进行设置。

方法示例

export function userPropertiesInit(properties:Object);
 

参数说明

参数名称 参数含义 参数类型 是否必传
properties
开发者自定义用户属性
Object

调用示例

let properties = {"properties_key":" properties value"};
SolarEngine.userPropertiesInit(properties);
 

userPropertiesUpdate

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

方法示例

export function userPropertiesUpdate(properties:Object);
 

参数说明

参数名称 参数含义 参数类型 是否必传
properties
开发者自定义用户属性
Object

调用示例

let properties = {"update_key":" update value"};
SolarEngine.userPropertiesUpdate(properties);
 

 

userPropertiesAdd

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

方法示例

export function userPropertiesAdd(properties:Map<string,number>);
 

参数说明

参数名称 参数含义 参数类型 是否必传
properties
开发者自定义用户属性
Map<string,number>

调用示例

let map = new Map<string, number>();
map.set('key1', 1.14);
map.set('key2', 2.14);
map.set('key3', 3.14);

SolarEngine.userPropertiesAdd(map);

注:本方法只对 value 值为数值类型的 key 值进行 add 累加操作

userPropertiesUnset

当您要清空用户的用户属性值时,您可以调用 userPropertiesUnset 来对指定属性(字符串数组)进行清空操作,如果该属性还未在集群中被创建,则 不会 创建该属性。

方法示例

export function userPropertiesUnset(eventNames:Array<string>);
 

参数说明

参数名称 参数含义 参数类型 是否必传
eventNames
需要清空的用户属性 key 值 string 数组
Array<string>

调用示例

let keys:Array<string> = ["key_name1","key_name2","key_name3"];
SolarEngine.userPropertiesUnset(keys);

 

userPropertiesAppend

您可以调用 userPropertiesAppend 对 Array 类型的用户属性进行追加操作,如果该属性不存在,则会新建该属性。

方法示例

export function userPropertiesAppend(properties:Object);

参数说明

参数名称 参数含义 参数类型 是否必传
properties
开发者自定义用户属性 Dictionary

调用示例

let properties = {"append_key":"append value"};
SolarEngine.userPropertiesAppend(properties);

 

userPropertiesDelete

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

方法示例

export function userPropertiesDelete(deleteType:SEUserDeleteType);

export enum SEUserDeleteType {
  ByAccountId = 1,
  ByVisitorId = 2,
}

调用示例

let type:SEUserDeleteType = SEUserDeleteType.ByVisitorId;
SolarEngine.userPropertiesDelete(type);
最近修改: 2024-11-12Powered by