引入&配置SDK
使用小程序SDK必備操作,缺少任一操作都會造成數(shù)據(jù)的缺失
操作說明
1.快速集成
在QuickTracking后臺,為每一個小程序生成了專屬的集成代碼,可以根據(jù)產(chǎn)品內(nèi)的引導(dǎo)進行集成。
產(chǎn)品路徑
Quick Tracking「首頁」-「管理控制臺」,在「管理控制臺」進入「組織列表」功能,組織列表展示當(dāng)前已創(chuàng)建的組織,找到應(yīng)用歸屬組織,點擊「管理應(yīng)用」功能跳轉(zhuǎn)到「應(yīng)用管理]頁面,在已創(chuàng)建好的應(yīng)用點擊去「去集成」。
點擊「去集成」按鈕跳轉(zhuǎn)到新頁面可以獲取專屬集成代碼,點擊下一步按引導(dǎo)進入到「集成校驗」,確認集成是否成功。
2 集成代碼明細
如果因為特定原因,無法抵達上述頁面,需要觀看文檔才可以進行集成,具體集成代碼如下:
2.1 參數(shù)準備
appkey:在應(yīng)用列表中獲取
收數(shù)域名:在“管理控制臺-采集信息”模塊中獲取
SDK鏈接:在“管理控制臺-采集信息”模塊中獲取
2.2 SDK引入
點擊SDK鏈接,將鏈接內(nèi)JS文件導(dǎo)入工程內(nèi)部。(建議導(dǎo)入路徑為src/utils)
const aplusConfig = {
metaInfo: {
'appKey': "", //平臺系統(tǒng)中創(chuàng)建應(yīng)用時填寫的Appkey, 必填
'trackDomain': "", //采集日志上報域名,必填
'DEBUG': true, //是否展示采集日志
},
};
//執(zhí)行initQTSDK函數(shù)之后,sdk會在小程序context,如微信wx、字節(jié)tt、支付寶my等下面掛載
//aplus和aplus_queue兩個環(huán)境變量
import { initQTSDK } from "./utils/qt_mini.umd.js";
initQTSDK(aplusConfig);
請注意:初始化代碼請直接放在入口文件中,不要放在程序生命周期函數(shù)內(nèi)
2.3 設(shè)置設(shè)備ID
由于小程序框架限制,QuickTracking SDK未自動生成任何設(shè)備ID,需要開發(fā)者授權(quán)QuickTracking自動獲取openid,或者開發(fā)者獲取openid/unionid等官方小程序ID后手動上傳作為設(shè)備ID,否則,QT SDK將無法進行任何日志上報。
手動上傳方式如下:
請注意:示例為微信小程序的代碼調(diào)用示例,其他小程序平臺邏輯相似
const aplusConfig = {
metaInfo: {
... //sdk部分配置
'_hold': 'BLOCK' //阻塞日志上報,待openid&unionid成功獲取后再上報
... //sdk部分配置
}
};
//執(zhí)行initQTSDK函數(shù)之后,sdk會在小程序context,如微信wx、字節(jié)tt、支付寶my等下面掛載
//aplus和aplus_queue兩個環(huán)境變量
import { initQTSDK } from "./utils/qt_mini.umd.js";
initQTSDK(aplusConfig);
wx.login({
success: (res) => {
// 通過 code 換取openid
if (res.code) {
wx.request({
url: 客戶業(yè)務(wù)側(cè)后端獲取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);
wx.aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_anony_id", res.data.openid],
});
} else {
wx.aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_anony_id", 業(yè)務(wù)側(cè)自己待實現(xiàn)的偽id],
});
}
},
});
}
},
fail: () => {
// 失敗提示信息等
},
complete: () => {
wx.aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_hold", "START"],
});
},
});
自動獲取微信小程序openid方式如下:
目前QuickTracking支持自動采集微信小程序openid,需要在產(chǎn)品中進行授權(quán)。授權(quán)方式如下,點擊后按照要求填寫內(nèi)容即可。
授權(quán)后,設(shè)置設(shè)備ID代碼方式為:
const aplusConfig = {
metaInfo: {
... //sdk部分配置
'autoGetOpenid': true //開啟openid自動采集
... //sdk部分配置
}
};
//執(zhí)行initQTSDK函數(shù)之后,sdk會在小程序context,如微信wx、字節(jié)tt、支付寶my等下面掛載
//aplus和aplus_queue兩個環(huán)境變量
import { initQTSDK } from './utils/qt_mini.umd.js';
initQTSDK(aplusConfig);
如果之前已經(jīng)使用了手動設(shè)置openid,現(xiàn)希望改為上述的QuickTracking自動采集微信小程序openid,還需要注意以下內(nèi)容:
移除metainfo中設(shè)置_hold=BLOCK的SDK阻塞上報邏輯
注釋掉之前手動設(shè)置「_anony_id=openid」的相關(guān)邏輯代碼,也就是移除從wx.login中獲取openid的相關(guān)代碼。
注意,務(wù)必確保關(guān)于設(shè)置appKey和收數(shù)域名的內(nèi)容不受影響。
示例代碼如下:
// inside app.js
const aplusConfig = {
metaInfo: {
... //sdk部分配置
//1.移除設(shè)置_hold=BLOCK的SDK阻塞上報邏輯
//'_hold: 'BLOCK' //阻塞日志上報,待openid&unionid成功獲取后再上報
... //sdk部分配置
}
};
//執(zhí)行initQTSDK函數(shù)之后,sdk會在小程序context,如微信wx、字節(jié)tt、支付寶my等下面掛載
//aplus和aplus_queue兩個環(huán)境變量
import { initQTSDK } from './utils/qt_mini.umd.js';
initQTSDK(aplusConfig);
/**
2.移除 wx.login中獲取openid的相關(guān)代碼
wx.login({
success: (res) => {
// 通過 code 換取openid
if (res.code) {
wx.request({
url: 客戶業(yè)務(wù)側(cè)后端獲取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);
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', res.data.openid]
});
} else {
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_anony_id', 業(yè)務(wù)側(cè)自己待實現(xiàn)的偽id]
});
}
},
});
}
},
fail: () => {
// 失敗提示信息等
},
complete: () => {
wx.aplus_queue.push({
action: 'aplus.setMetaInfo',
arguments: ['_hold', 'START']
});
},
});
*/
在授權(quán)微信小程序時需要提供小程序的AppID和AppSecret,可從微信小程序管理后臺的「開發(fā)-開發(fā)管理-開發(fā)設(shè)置」中獲取。
2.4 設(shè)置域名白名單
以微信小程序為例:登錄小程序后臺,進入開發(fā)設(shè)置-> 服務(wù)器域名白名單,把您的收數(shù)域名添加至白名單
3 常見問題
3.1 如何獲取離線SDK?
在QuickTracking后臺的“管理控制臺-采集信息”模塊中獲取SDK鏈接后,點擊SDK鏈接并“ctrl+s”或者“command+s”進行下載保存。