快应用SDK支持QuickTracking常用埋点事件及属性,如启动事件、退出事件、页面事件、自定义事件、用户属性、全局属性等
1.引入&配置SDK
为了在您的快应用项目中集成QuickTracking服务,需要获取最新的快应用SDK。请访问以下线上地址下载或直接引用最新版本的SDK文件:
快应用SDK线上地址:https://g.alicdn.com/dt-f2e/qt-quickapp-sdk/1.0.0/qt_quickapp.js
登录QuickTracking平台,进入管理控制台--采集信息--小程序sdk信息
将qt_quickapp.js文件放入项目对应目录下(示例:以src/assets/js 为例)
在应用入口文件app.ux文件中添加
// 添加在 app.ux 头部 import qt from './assets/js/qt_quickapp.js';
配置sdk参数
引入sdk后,调用setParams进行sdk的初始化配置
// 添加在 app.ux 头部 import qt from './assets/js/qt_quickapp.js'; qt.setParams({ /************ 必选字段 *************/ appKey: '当前应用的appKey', trackDomain: '当前应用的收数域名', /************ 可选字段 *************/ showLog: true, //是否展示sdk日志 true展示 false关闭 userId: 'test_user', //用户账号,也可通过调用login接口配置 globalproperty: { //事件的全局属性 a:1, b:2 } });
2.初始化SDK
在完成sdk的参数配置之后,通过调用init方法来初始化sdk。
//app.ux 文件的onCreate方法
export default {
onCreate(options) {
// sdk初始化调用
qt.init(); //将qt注册在全局
}
}
3.添加埋点
3.1应用启动埋点
API:qt.appLaunch('应用启动的参数')
//app.ux 文件中的onCreate方法中调用qt.appLaunch()方法
export default {
onCreate(options) {
qt.init();
qt.appLaunch(options);
},
...
}
3.2应用退出埋点
API:qt.appHide()
//app.ux 文件中的onHide方法中调用qt.appHide()方法
export default {
onHide() {
qt.appHide();
}
}
3.3页面浏览事件埋点
API:qt.sendPageStart('事件属性对象')
事件属性对象:该字段代表事件的自定义参数,其取值为一个JSON对象(平铺的简单对象,不能多层嵌套),参数取值支持javascript值类型中string、number 、boolean,如果取值为空,传值""即可。
示例:
//测试页面 pages/TestPage/index.ux
export default {
...
onShow() {
qt.sendPageStart({
page_name: 'test_page', //预制字段(可选)页面编码
page_title: '页面title', //预制字段(可选)页面title
param1: 'xxx',
param2: 'xxx'
});
}
...
}
3.4事件埋点
API:qt.sendEvent('事件编码', '事件属性对象')
事件编码:该字段为在Quicktracking管理平台注册的点击、曝光、其他等自定义事件的事件编码,仅支持英文字符串格式,最长支持128位字符串
事件属性对象:该字段代表事件的自定义参数,其取值为一个JSON对象(平铺的简单对象,不能多层嵌套),参数取值支持javascript值类型中string、number 、boolean,如果取值为空,传值""即可。
示例:
//测试页面 pages/TestPage/index.ux
export default {
...
onTestButtonClick() {
qt.sendEvent('test_clk', {
page_name: 'test_page', //预制字段(可选)页面编码
page_title: '页面title', //预制字段(可选)页面title
param1: 'xxx',
param2: 'xxx'
});
}
...
}
4.设置全局属性
API:qt.setGlobalProperty('全局属性对象')
//方式1
qt.setGlobalProperty({
param1: '1111',
param2: 2222,
param3: true
});
//方式2
qt.setParams({
....
globalproperty: {
param1: '1111',
param2: 2222,
param3: true
}
});
上述调用后 globalproperty 为:{ param1: '1111', param2: 2222, param3: true }
追加全局属性
API:qt.appendGlobalProperty('全局属性对象')
qt.appendGlobalProperty({
param4: '4444',
param5: 55555
});
上述调用后 globalproperty 为:
{ param1: '1111', param2: 2222, param3: true, param4: '4444', param5: 55555 }
5.设置用户账号
API:qt.login('用户账号id')
qt.login('用户账号id') //上报用户账号,并缓存
API:qt.logoff()
qt.logoff() //清空用户账号缓存
6.用户属性上报
API:qt.sendUserProfile('用户属性对象')
注:上报用户属性之前,需要先上报用户账号
qt.sendUserProfile({
name: '张三',
age: '25',
level: 'vip3'
});
7.采集多种id类型
API:qt.setIds('多种id组成的对象')
注:请确保下述每一个id的key书写正确
qt.setIds({
openId: 'xxxx',
unionid: 'xxxxx',
androidId: 'xxxxx',
advertisingId: 'xxxxx',
phonenumber: 'xxxxx',
mac: 'xxxxx',
oaid: 'xxxxx',
serial: 'xxxxx',
deviceId: 'xxxxx'
});
上述各id字段的含义请参考快应用官方文档
https://doc.quickapp.cn/features/service/account.html?h=openid
https://doc.quickapp.cn/features/system/device.html?h=deviceId
8.查看sdk日志
sdk参数配置showLog为true
qt.setParams({
...
showLog: true
})
9.埋点验证
开发者在完成埋点功能之后,可通过QuickTracking平台的埋点验证功能对已有埋点进行验证,首先获得log_xxxx形式的debugId,并将其添加到sdk配置参数用以开启埋点验证模式下的日志上报
插入debugId用以完成埋点配置
// 添加在 app.ux 头部
import qt from './assets/js/qt_quickapp.js';
qt.setParams({
...
debugId: 'log_xxxxxxxx', //用于埋点验证使用
....
});