首次事件是指针对某些维度(设备 ID或其他维度的 ID)只记录一次的事件,例如记录某个账号的注册事件,可以使用首次事件来记录,服务端会按照 setCheckId() 设置的 ID 去重,同一 ID 只会记录第一次上报的事件。
预置事件(_appInstall、_appStart、_appEnd)不支持设置为首次事件。
方法示例
export function trackFirstEvent(firstCheckId:string,eventAttribute:
SERegisterEventAttribute|
SECustomEventAttribute);
参数说明
| 参数名称 | 参数含义 | 参数类型 | 是否必传 |
| firstCheckId | 首次事件校验id | string | 是 |
|
eventAttribute
|
首次事件类 |
SERegisterEventAttribute|
SECustomEventAttribute
|
是 |
eventAttribute 参数使用时需要传 对应 的实例,具体说明如下:
| 首次事件 | 参数类型 |
|---|---|
| 自定义首次事件 |
SECustomEventAttribute
|
| 注册事件首次事件 | SERegisterEventAttribute |
调用示例
1.注册事件首次事件
SERegisterEventAttribute 类参数介绍:
| 参数名称 | 参数含义 | 参数类型 | 是否必传 |
| registerType | 注册类型如 "WeChat"、"QQ" 等自定义值 | string | 是,不超过 32 字符 |
| registerStatus | 注册状态 如 "success" | string | 否 |
| customProperties | 自定义属性 | Object | 否 |
调用示例
let firstCheckId = "my first check id";
let attribute:SERegisterEventAttribute = {
registerType:"WeChat",
registerStatus:"success",
customProperties:{"key":"register customProperties value"}
// customProperties 为自定义属性,可以不设置
// 注:开发者传入属性 key 不能为"_"下划线开头,"_"下划线开头为SDK保留字段,开发者设置则直接报错丢弃
}
SolarEngine.trackFirstEvent(firstCheckId,attribute);
2.自定义事件首次事件
CustomAttributes 类参数说明:
| 参数名称 | 参数含义 | 参数类型 | 是否必传 |
|
eventName
|
自定义事件名称 | string | 是 |
|
customProperties
|
自定义事件属性 | Object | 是 |
|
preProperties
|
自定义事件预置属性,目前只支持
_pay_amount与_currency_type,其他字段会被SDK舍弃
|
Object | 是 |
调用示例
let firstCheckId = "my first check id";
let attribute:CustomAttributes = {
place_your_key_here:place_relative_value_here,
customProperties:{"key":"register customProperties value"}
// customProperties 为自定义属性,可以不设置
// 注:开发者传入属性 key 不能为"_"下划线开头,"_"下划线开头为SDK保留字段,开发者设置则直接报错丢弃
}
SolarEngine.trackFirstEvent(firstCheckId,attribute);
注:如果要上报自定义事件首次事件,那么eventName字段为必传字段,否则无法上报。