数据采集API
初始化是否成功
static isInitializedSuccessfully(): boolean
返回是否初始化成功
let success = GrowingAnalytics.isInitializedSuccessfully()
数据采集开关
static setDataCollectionEnabled(enabled: boolean)
打开或关闭数据采集
GrowingAnalytics.setDataCollectionEnabled(true)
设置登录用户 ID
static setLoginUserId(userId: string, userKey?: string)
当用户登录之后调用,设置登录用户 ID 和用户 Key
-
如果您的App每次用户升级版本时无需重新登录的话,为防止用户本地缓存被清除导致的无法被识别为登录用户,建议在用户每次升级App版本后初次访问时重新调用setLoginUserId方法
-
当需要标记用户ID类型时,请先进行规划,并在平台的数据中心,添加新的用户身份类型,再设置userkey,误设会影响数据质量。 设置用户 Key 需在初始化 SDK 时设置
config.idMappingEnabled = true
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
userId | string | 长度限制大于 0 且小于等于 1000 |
userkey | string | 长度限制大于 0 且小于等于 1000,默认为 '' |
示例
GrowingAnalytics.setLoginUserId('user')
GrowingAnalytics.setLoginUserId('user', 'harmony')
清除登录用户 ID
static cleanLoginUserId()
当用户登出之后调用,清除已经设置的登录用户ID
GrowingAnalytics.cleanLoginUserId()
设置用户的地理位置
static setLocation(latitude: number, longitude: number)
设置用户当前的地理位置,基于WGS-84坐标
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
latitude | number | 地理坐标点纬度 |
longitude | number | 地理坐标点经度 |
示例
const latitude: number = 30.0
const longitude: number = 120.0
GrowingAnalytics.setLocation(latitude, longitude)
清除用户的地理位置
static cleanLocation()
清除用户当前的地理位置
GrowingAnalytics.cleanLocation()
设置埋点事件
static track(eventName: string, attributes: GrowingAttrType = {})
发送一个埋点事件;注意:在添加发送的埋点事件代码之前,需在分析云平台事件管理界面创建埋点事件以及关联事件属性
GrowingAttrType
为 SDK 限定的事件属性类型,实际为:
{ [key: string]: string | number | boolean | string[] | number[] | boolean[] }
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
eventName | string | 事件名,事件标识符 |
attributes | GrowingAttrType | 事件发生时所伴随的属性信息;当事件属性关联有维度表时,属性值为对应的维度表模型 ID(记录 ID)(可选) |
示例
GrowingAnalytics.track('buyProduct1')
GrowingAnalytics.track('buyProduct2', {
'name': 'apple',
'money': 1000,
'num': 100,
'from': ['sichuan', 'guizhou', 'hunan']
})
let attributes: GrowingAttrType = {}
attributes['a'] = 'b'
GrowingAnalytics.track('buyProduct3', attributes)
详细使用示例:埋点事件示例
事件计时器
static trackTimerStart(eventName: string): string
初始化一个事件计时器,参数为计时事件的事件名称,返回值为该事件计时器唯一标识
static trackTimerPause(timerId: string)
暂停事件计时器,参数为 trackTimer 返回的唯一标识
static trackTimerResume(timerId: string)
恢复事件计时器,参数为 trackTimer 返回的唯一标识
static trackTimerEnd(timerId: string, attributes: GrowingAttrType = {})
停止事件计时器,参数为 trackTimer 返回的唯一标识。调用该接口会自动触发删除定时器。
static removeTimer(timerId: string)
删除事件计时器,参数为 trackTimer 返回的唯一标识。 该接口会将标识为 timerId 的计时器置为空。调用停止计时器接口,会自动触发该接口。注意移除时不论计时器处于什么状态,都不会发送事件。
static clearTrackTimer()
清除所有已经注册的事件计时器。 存在所有计时器需要清除时调用。注意移除时不论计时器处于什么状态,都不会发送事件。
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
eventName | string | 事件名,事件标识符 |
attributes | GrowingAttrType | 事件发生时所伴随的属性信息;当事件属性关联有维度表时,属性值为对应的维度表模型 ID(记录 ID)(可选) |
timerId | string | 计时器唯一标识符,由trackTimerStart 返回 |
示例
let timerId = GrowingAnalytics.trackTimerStart('eventName')
GrowingAnalytics.trackTimerPause(timerId)
GrowingAnalytics.trackTimerResume(timerId)
GrowingAnalytics.trackTimerEnd(timerId)
GrowingAnalytics.trackTimerEnd(timerId, {
'property': 'value',
'property2': 100
})
GrowingAnalytics.removeTimer(timerId)
GrowingAnalytics.clearTrackTimer()
注意:
endTimer 时发送 CUSTOM 事件上报数据:
- eventName 埋点事件标识符(trackTimerStart 传入)
- attributes 用户自定义事件属性(trackTimerEnd 传入)
- event_duration 事件时长 (SDK 内部根据 timerId 自动计算获取 )
- event_duration 按照秒上报,小数点精度保证到毫秒
- event_duration 变量及其值会自动添加在 attributes 中
- event_duration 时间统计不会计算后台时间
- eventName 对应的埋点事件需要在平台中绑定标识符为 event_duration, 且类型为小数的事件属性