基础集成
1. 域名设置
在预初始化方法调用之前,开发者需要在调用SDK任意其他API之前最先调用setTrackDomain
API设置私有化环境的收数域名。
import { setTrackDomain } from '@quicktracking/analytics';
/**
* 设置上传统计日志的主域名和备用域名。
* SDK会优先将统计数据上报到主域名,失败的情况下会再尝试将数据上报到备用域名。
* 主域名primaryDomain或不能传入null或者空串,如果传入null或者空串,SDK会打印"收数域名不能为空,请检查域名设置!"异常日志。
* 备用域名可以传入null或者空串,此时SDK认为备用域名和主域名完全相同。SDK上传数据失败后第二次也会向主域名上报数据。
* 传入的域名参数应该包含"https://" 前缀。
*/
function setTrackDomain(primaryDomain: string, standaryDomain?: string)
参数 | 含义 |
primaryDomain | 上传日志的主收数域名地址 |
standaryDomain | 上传日志的备用收数域名地址 |
备注:仅支持HTTP、HTTPS协议前缀,如果不指定协议前缀,默认为HTTPS协议发送
2. 合规初始化
由于工信部的合规要求,应用在用户同意隐私政策前不可以获取任何个人信息,因此QuickTracking鸿蒙Next的SDK的初始化步骤分成 预初始化 和 初始化 两步,完成合规初始化需要进行以下操作:
您需要确保App有《隐私政策》,并且在用户首次启动App时就弹出《隐私政策》并取得用户同意。
您必须告知用户您选择QuickTrackingSDK采集服务,请在《隐私政策》中增加如下参考条款:“我们的产品集成QuickTracking SDK,QuickTracking SDK需要收集您的OAID/华为AAID/SIM卡 IMSI 信息/硬件序列号/MCC(移动国家编码)、MNC(移动网号)以提供统计分析服务。”
用户同意隐私政策后才可以正式初始化QuickTracking SDK。
2.1. 预初始化API
调用SDK预初始化API,预初始化API调用不会采集设备信息,也不会向QuickTracking收数服务上报数据
2.1.1. API 说明
import { preInit } from '@quicktracking/analytics';
function preInit(cfg: UMConfig):void
2.1.2. 参数说明
参数 | 类型 | 含义 | 是否必填 |
context | common.ApplicationContext | 应用环境上下文变量 | 是 |
appKey | string | 应用唯一标识appKey,入参的appkey一定要与QT后台保持一致 该appKey会跟随每一条事件日志进行上报,用于QT的应用平台数据区分标识 | 是 |
plugins | BasePlugin | BasePlugin[] | 当前开启的插件 | 是 |
channel | string | 应用发布的渠道,QT分析平台的“系统属性”中“升级渠道”的数据来源 | 否 |
enableLog | boolean | 是否开启调试日志,默认值是false | 否 |
enableJSBridge | boolean | 是否开启H5桥接功能,默认值是false | 否 |
enableAutoTrackApplication | boolean | 是否开启自动采集应用生命周期,默认值是true | 否 |
enableAutoTrackPage | boolean | 是否开启自动采集页面,默认值是true | 否 |
2.2. 初始化API init
用户同意隐私协议后,调用SDK初始化API,只有调用了init方法,才会开始日志的采集和传输。
2.2.1. API说明
import { init } from '@quicktracking/analytics';
function init():Promise<void>
2.3. 调用SDK初始化API
在应用模块目录下,添加abilityStage工程文件,例如:entry/src/main/ets/abilityStage/MyAbilityStage.ets
,具体位置截图为
在模块的module.json5文件中添加srcEntry,指向abilityStage文件的地址
2.3.1. 完整调用示例
import AbilityStage from '@ohos.app.ability.AbilityStage';
import { preInit, InternalPlugin, setLogEnabled, init, setTrackDomain } from '@quicktracking/analytics';
setLogEnabled(true); //开启调试日志
setTrackDomain("主收数域名", "副收数域名"); //设置采集收数域名
export default class MyAbilityStage extends AbilityStage {
onCreate() {
preInit({
appKey: '您的AppKey'
context: this.context.getApplicationContext(),
enableJSBridge: true,
enableAutoTrackApplication: true,
enableAutoTrackPage: true,
plugins: [new InternalPlugin()]
});
init();
}
}
注意:!!!在适当位置(preInit方法调用之后),经用户授权同意隐私政策后调用init方法,才会开始日志的采集和传输。
3. 日志打印
可通过主动调用setLogEnable
API 开启或关闭sdk日志信息
import { setLogEnabled } from '@quicktracking/analytics';
function setLogEnabled(enable: boolean):void
参数 | 含义 |
enable | 是否开启sdk日志信息,默认不开启false |
注意:
如果查看初始化过程中的LOG,一定要在调用初始化方法之前将LOG开关打开
日志分为三种等级
error 打印sdk集成或运行时的错误信息
warn 打印sdk的警告信息
info 打印sdk的提示信息