chicken_dy/Assets/HCMiniSdk/Scripts/Editor/sdk/utils/hachimini.js

111 lines
3.0 KiB
JavaScript
Raw Normal View History

2024-03-07 12:12:48 +00:00
"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;