基础集成

基础集成

1. 域名设置

在预初始化方法调用之前,开发者需要在调用SDK任意其他API之前最先调用setTrackDomainAPI设置私有化环境的收数域名。

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的初始化步骤分成 预初始化 初始化 两步,完成合规初始化需要进行以下操作:

  1. 您需要确保App有《隐私政策》,并且在用户首次启动App时就弹出《隐私政策》并取得用户同意。

  2. 您必须告知用户您选择QuickTrackingSDK采集服务,请在《隐私政策》中增加如下参考条款:“我们的产品集成QuickTracking SDK,QuickTracking SDK需要收集您的OAID/华为AAID/SIM卡 IMSI 信息/硬件序列号/MCC(移动国家编码)、MNC(移动网号)以提供统计分析服务。

  3. 用户同意隐私政策后才可以正式初始化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,具体位置截图为

image

在模块的module.json5文件中添加srcEntry,指向abilityStage文件的地址

image

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的提示信息