111 lines
3.0 KiB
JavaScript
111 lines
3.0 KiB
JavaScript
|
|
"use strict";
|
||
|
|
var TDAnalytics = require("./tdanalytics.mg.wx.min.js");
|
||
|
|
|
||
|
|
function init(appId, ServerUrl) {
|
||
|
|
// TA SDK 配置对象
|
||
|
|
var config = {
|
||
|
|
appId: appId, // 项目 APP ID
|
||
|
|
serverUrl: ServerUrl, // 上报地址
|
||
|
|
enableLog: false,
|
||
|
|
autoTrack: {
|
||
|
|
appShow: true, // 自动采集 ta_mg_show
|
||
|
|
appHide: true, // 自动采集 ta_mg_hide
|
||
|
|
}
|
||
|
|
};
|
||
|
|
// 初始化
|
||
|
|
TDAnalytics.init(config);
|
||
|
|
|
||
|
|
// 添加微信的基础属性, 有一些td没加上
|
||
|
|
var eventData = {};
|
||
|
|
eventData['wx_version'] = wx.getAccountInfoSync().miniProgram.version;
|
||
|
|
eventData['wx_model'] = wx.getSystemInfoSync().model;
|
||
|
|
eventData['wx_brand'] = wx.getSystemInfoSync().brand;
|
||
|
|
eventData['wx_language'] = wx.getSystemInfoSync().language;
|
||
|
|
eventData['wx_system'] = wx.getSystemInfoSync().system;
|
||
|
|
eventData['wx_platform'] = wx.getSystemInfoSync().platform;
|
||
|
|
eventData['wx_env_version'] = wx.getAccountInfoSync().miniProgram.envVersion;
|
||
|
|
TDAnalytics.setSuperProperties(eventData);
|
||
|
|
}
|
||
|
|
|
||
|
|
function HCTDAnalytics(req) {
|
||
|
|
if (req["cmd"] != "HCTDAnalytics") {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
delete req.cmd;
|
||
|
|
const methodName = req["methodName"];
|
||
|
|
|
||
|
|
const args = req["args"];
|
||
|
|
switch (methodName) {
|
||
|
|
case "InitializeSdk":
|
||
|
|
break;
|
||
|
|
case "SetUserId":
|
||
|
|
TDAnalytics.login(args["userId"]);
|
||
|
|
break;
|
||
|
|
case "TrackEvent":
|
||
|
|
const eventName = args["eventName"]
|
||
|
|
delete args.methodName;
|
||
|
|
delete args.eventName;
|
||
|
|
TDAnalytics.track({
|
||
|
|
eventName: eventName, // 事件名称
|
||
|
|
properties: args //事件属性
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case "TrackAdRevenue":
|
||
|
|
break;
|
||
|
|
case "SetSuperProperties":
|
||
|
|
delete args.methodName;
|
||
|
|
TDAnalytics.setSuperProperties(args);//设置公共事件属性
|
||
|
|
break;
|
||
|
|
case "UserSet":
|
||
|
|
delete args.methodName;
|
||
|
|
TDAnalytics.userSet({
|
||
|
|
properties: args
|
||
|
|
});//设置公共事件属性
|
||
|
|
break;
|
||
|
|
case "Login":
|
||
|
|
TDAnalytics.login(args["userId"]);
|
||
|
|
break;
|
||
|
|
case "UserSetOnce":
|
||
|
|
delete args.methodName;
|
||
|
|
TDAnalytics.userSetOnce({
|
||
|
|
properties: args
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case "SetLogEnable":
|
||
|
|
break;
|
||
|
|
case "GetDistinctId":
|
||
|
|
return TDAnalytics.getDistinctId();
|
||
|
|
}
|
||
|
|
return "";
|
||
|
|
}
|
||
|
|
|
||
|
|
function trackEvent(eventName, args) {
|
||
|
|
if (eventName == "new_device") {
|
||
|
|
TDAnalytics.trackFirst({
|
||
|
|
"eventName":eventName,
|
||
|
|
})
|
||
|
|
|
||
|
|
console.log("new_device")
|
||
|
|
return
|
||
|
|
}
|
||
|
|
TDAnalytics.track({
|
||
|
|
eventName: eventName, // 事件名称
|
||
|
|
properties: args //事件属性
|
||
|
|
});
|
||
|
|
|
||
|
|
}
|
||
|
|
function getDistinctId() {
|
||
|
|
return TDAnalytics.getDistinctId();
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
var HaichiMini = {
|
||
|
|
init,
|
||
|
|
HCTDAnalytics,
|
||
|
|
trackEvent,
|
||
|
|
getDistinctId,
|
||
|
|
}
|
||
|
|
|
||
|
|
wx.HaichiMini = HaichiMini;
|
||
|
|
module.exports = HaichiMini;
|