鸿蒙原生埋点 SDK
SDK 简介
GrowingIO OpenHarmony/HarmonyOS SDK 自动采集用户访问事件,并支持手动调用相应埋点 APIs 采集埋点事件。
支持 HarmonyOS 4.0.0 - HarmonyOS NEXT
支持 OpenHarmony API Level 10 - 12
准备条件
获取项目ID,获取方法请参考"项目管理 > 项目概览 > 查看项目基本信息"。
集成文档
通过 ohpm 中心仓集成
通过本地 har 集成
或者,您也可以通过本地 har 集成 首先请联系您的专属项目经理或技术支持,获取最新 SDK har 静态共享包下载地址并下载,再执行以下命令:
配置权限
在 module.json5 中配置所需权限:
初始化
在 AbilityStage 的 onCreate 方法中初始化 SDK (Stage 模型):
注意:如若需要,可在用户同意隐私协议之后,再进行初始化 SDK
其他初始化配置项见下表,在 start 方法调用前通过config.<配置项> = 对应值
进行配置:
数据采集 API
初始化是否成功
static isInitializedSuccessfully(): boolean
返回是否初始化成功
数据采集开关
static setDataCollectionEnabled(enabled: boolean)
打开或关闭数据采集
设置登录用户 ID
static setLoginUserId(userId: string)
当用户登录之后调用,设置登录用户 ID 如果您的 App 每次用户升级版本时无需重新登录的话,为防止用户本地缓存被清除导致的无法被识别为登录用户,建议在用户每次升级 App 版本后初次访问时重新调用 setLoginUserId 方法
参数说明
示例
清除登录用户 ID
static cleanLoginUserId()
当用户登出之后调用,清除已经设置的登录用户ID
设置用户的地理位置
static setLocation(latitude: number, longitude: number)
设置用户当前的地理位置,基于WGS-84坐标
参数说明
示例
清除用户的地理位置
static cleanLocation()
清除用户当前的地理位置
设置埋点事件
static track(eventName: string, attributes: { [key: string]: string | number | boolean | string[] | number[] | boolean[] } = {})
发送一个埋点事件;注意:在添加发送的埋点事件代码之前,需在分析云平台事件管理界面创建埋点事件以及关联事件属性
参数说明
示例
事件计时器
static async trackTimerStart(eventName: string): Promise<string>
初始化一个事件计时器,参数为计时事件的事件名称,返回值为该事件计时器唯一标识
static async trackTimerPause(timerId: string)
暂停事件计时器,参数为 trackTimer 返回的唯一标识
static async trackTimerResume(timerId: string)
恢复事件计时器,参数为 trackTimer 返回的唯一标识
static async trackTimerEnd(timerId: string, attributes: { [key: string]: string | number | boolean | string[] | number[] | boolean[] } = {})
停止事件计时器,参数为 trackTimer 返回的唯一标识。调用该接口会自动触发删除定时器。
static removeTimer(timerId: string)
删除事件计时器,参数为 trackTimer 返回的唯一标识。 该接口会将标识为 timerId 的计时器置为空。调用停止计时器接口,会自动触发该接口。注意移除时不论计时器处于什么状态,都不会发送事件。
static clearTrackTimer()
清除所有已经注册的事件计时器。 存在所有计时器需要清除时调用。注意移除时不论计时器处于什么状态,都不会发送事件。
参数说明
示例
注意:
endTimer 时发送 CUSTOM 事件上报数据:
eventName 埋点事件标识符(trackTimerStart 传入)
attributes 用户自定义事件属性(trackTimerEnd 传入)
event_duration 事件时长 (SDK 内部根据 timerId 自动计算获取 ) > event_duration 按照秒上报,小数点精度保证到毫秒 > event_duration 变量及其值会自动添加在 attributes 中 > event_duration 时间统计不会计算后台时间
eventName 对应的埋点事件需要在平台中绑定标识符为 event_duration, 且类型为小数的事件属性
设置登录用户属性
static setLoginUserAttributes(attributes: { [key: string]: string | number | boolean | string[] | number[] | boolean[] })
以登录用户的身份定义登录用户属性,用于用户信息相关分析
参数说明
示例
获取设备 ID
static getDeviceId(): string
获取设备 id,又称为匿名用户 id,SDK 自动生成用来定义唯一设备
事件通用属性
static setGeneralProps(props: { [key: string]: string | number | boolean | string[] | number[] | boolean[] })
为所有事件设置通用属性,多次调用,相同字段的新值将覆盖旧值;需在分析云平台事件管理界面关联事件属性
static removeGeneralProps(keys: string[])
移除指定字段的事件通用属性
static clearGeneralProps()
移除所有事件通用属性
static setDynamicGeneralProps(generator: () => { [key: string]: string | number | boolean | string[] | number[] | boolean[] })
设置动态通用属性
参数说明
示例
Hybrid 打通
在 webView 控件中注入 hybrid 实现打通 (javaScriptAccess 和 domStorageAccess 需同时设置为 true):
对应的 H5 页面需要集成 Web JS SDK 以及 App 内嵌页打通插件才能生效
最后更新于