引入&配置SDK
使用小程序SDK必备操作,缺少任一操作都会造成数据的缺失
1 快速集成
在QuickTracking后中,为每一个小程序生成了专属的集成代码,可以根据产品内的引导进行集成。
1.1 进入产品后台

1.2 找到应用归属组织

1.3 找到应用

1.4 点击“去集成”

1.5 点击后可以获取专属集成代码

2 集成代码明细
如果因为特定原因,无法抵达上述页面,需要观看文档才可以进行集成,具体集成代码如下:
2.1 参数准备
appkey:在应用列表中获取
收数域名:在“管理控制台-采集信息”模块中获取
SDK链接:在“管理控制台-采集信息”模块中获取
2.2 SDK引入
点击SDK链接,将链接内JS文件导入工程内部。(建议导入路径为src/utils)
const aplusConfig = {
metaInfo: {
'appKey': '', //平台系统中创建应用时填写的Appkey, 必填
'aplus-rhost-v': '', //采集日志上报域名,必填
'DEBUG': true, //是否展示采集日志
}
};
//声明aplus采集sdk全局变量
const aplus = require('./utils/aplus_mini')(aplusConfig);
2.3 设置设备ID
由于小程序框架限制,务必手动上传设备ID(例如:微信小程序的openid)给QT进行上报,否则,QT SDK将无法进行任何日志上报。方式如下:
// inside app.js
const aplusConfig = {
metaInfo: {
... //sdk部分配置
'_hold': 'BLOCK' //阻塞日志上报,待openid&unionid成功获取后再上报
... //sdk部分配置
}
};
//声明aplus采集sdk全局变量
const aplus = require('./utils/aplus_mini')(aplusConfig);
wx.login({
success: (res) => {
// 通过 code 换取openid
if (res.code) {
wx.request({
url: 客户业务侧后端获取openid的接口,
method: "post",
data: {
code: res.code,
},
success: (res) => {
if (res.data && res.data.openid) {
// 获取的 openid 存入storage,方便之后使用
wx.setStorageSync("openId", res.data.openid);
wx.setStorageSync("unionId, res.data.unionid);
getApp().aplus.aplus_quue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', res.data.openid]
});
} else {
getApp().aplus.aplus_quue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', 业务侧自己待实现的伪id]
});
}
},
});
}
},
fail: () => {
// 失败提示信息等
},
complete: () => {
getApp().aplus.aplus_quue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
});
},
});
PS:目前QuickTracking支持自动采集微信小程序openid,需要在产品中进行授权。授权方式如下,点击后按照要求填写内容即可。

授权后,设置设备ID代码方式为:
const aplusConfig = {
metaInfo: {
... //sdk部分配置
'autoGetOpenid': true //开启openid自动采集
... //sdk部分配置
}
};
//声明aplus采集sdk全局变量
const aplus = require('./utils/aplus_mini')(aplusConfig);
如果之前已经使用了手动设置openid,现希望改为上述的QuickTracking自动采集微信小程序openid,还需要注意以下内容:
移除metainfo中设置_hold=BLOCK的SDK阻塞上报逻辑
注释掉之前手动设置「_anony_id=openid」的相关逻辑代码,也就是移除从wx.login中获取openid的相关代码。
注意,务必确保关于设置appKey和收数域名的内容不受影响。
示例代码如下:
// inside app.js
const aplusConfig = {
metaInfo: {
... //sdk部分配置
//1.移除设置_hold=BLOCK的SDK阻塞上报逻辑
//'_hold: 'BLOCK' //阻塞日志上报,待openid&unionid成功获取后再上报
... //sdk部分配置
}
};
//声明aplus采集sdk全局变量
const aplus = require('./utils/aplus_mini')(aplusConfig);
/**
2.移除 wx.login中获取openid的相关代码
wx.login({
success: (res) => {
// 通过 code 换取openid
if (res.code) {
wx.request({
url: 客户业务侧后端获取openid的接口,
method: "post",
data: {
code: res.code,
},
success: (res) => {
if (res.data && res.data.openid) {
// 获取的 openid 存入storage,方便之后使用
wx.setStorageSync("openId", res.data.openid);
wx.setStorageSync("unionId, res.data.unionid);
getApp().aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', res.data.openid]
});
} else {
getApp().aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', 业务侧自己待实现的伪id]
});
}
},
});
}
},
fail: () => {
// 失败提示信息等
},
complete: () => {
getApp().aplus.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
});
},
});
*/
2.4 设置域名白名单
以微信小程序为例:登录小程序后台,进入开发设置-> 服务器域名白名单,把您的收数域名添加至白名单

2.5 初始化SDK
在app.js的onLaunch中,引入aplus
App({
aplus, //全局引入aplus
onLaunch(){},
onShow(){},
onHide(){}
})
3 常见问题
3.1 如何获取离线SDK?
在QuickTracking后台的“管理控制台-采集信息”模块中获取SDK链接后,点击SDK链接并“ctrl+s”或者“command+s”进行下载保存。