海纳嗨数-帮助中心
SDK 配置
帮助中心 > 技术文档 > 客户端SDK > 小程序 SDK > 微信小程序 SDK >SDK配置
微信小程序SDK接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。
1. 集成SDK
下载请前往 【支付宝小程序 SDK资源下载】
说明:请根据自身开发框架,选择正确的初始化流程.
注:引入路径根据自身情况修改。
1.1 原生小程序
app.js
var hn = require('./hinaData.cjs.js');
// 配置初始化参数
hn.setPara({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '数据接收地址',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendSharePath: true
});
// 初始化 SDK
if(不使用 openid 作为匿名 ID){
hn.init();
}
// 如果需要使用 openid 作为匿名 ID,请单独获取 openid 之后调用 hn.setOpenid() 方法
wx.request({
url: '后端获取 OpenID 的请求',
success: function(res){
if(res.OpenID){
hn.identify(res.OpenID,true);
}
},
complete: function(){
// 如果获取 openid 失败,SDK 会以 UUID 作为匿名 ID 发数据
hn.init();
}
});
App({
onLaunch : function( options ){},
onShow : function( options ){},
onHide : function(){}
});
1.2 uni-app
main.js
import Vue from 'vue';
import hn from './hinaData.esm.js'
// 配置初始化参数
hn.setPara({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '数据接收地址',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendShare:ath: true
});
// 初始化 SDK
if(不使用 openid 作为匿名 ID){
hn.init();
}
// 如果需要使用 openid 作为匿名 ID,请单独获取 openid 之后调用 hn.setOpenid() 方法
wx.request({
url: '后端获取 OpenID 的请求',
success: function(res){
if(res.OpenID){
hn.identify(res.OpenID,true);
}
},
complete: function(){
// 如果获取 openid 失败,SDK 会以 UUID 作为匿名 ID 发数据
hn.init();
}
});
import App from './App';
Vue.config.productionTip = false;
App.mpType = 'app';
const app = new Vue({
...App
});
app.$mount();
1.3 Taro
app.jsx
import Taro, { Component } from '@tarojs/taro'
import Index from './pages/index'
import hn from './hinaData.esm.js'
// 配置初始化参数
hn.setPara({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '数据接收地址',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendSharePath: true
});
// 初始化 SDK
if(不使用 openid 作为匿名 ID){
hn.init();
}
// 如果需要使用 openid 作为匿名 ID,请单独获取 openid 之后调用 hn.setOpenid() 方法
wx.request({
url: '后端获取 OpenID 的请求',
success: function(res){
if(res.OpenID){
hn.identify(res.OpenID,true);
}
},
complete: function(){
// 如果获取 openid 失败,SDK 会以 UUID 作为匿名 ID 发数据
hn.init();
}
});
class App extends Component {
config = {
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
}
constructor(){
super();
}
}
1.4 mpvue
main.js
import hn from './hinaData.esm.js'
import Vue from 'vue';
import App from './App';
// 配置初始化参数
hn.setPara({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '数据接收地址',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendSharePath: true
});
// 初始化 SDK
if(不使用 openid 作为匿名 ID){
hn.init();
}
// 如果需要使用 openid 作为匿名 ID,请单独获取 openid 之后调用 hn.setOpenid() 方法
wx.request({
url: '后端获取 OpenID 的请求',
success: function(res){
if(res.OpenID){
hn.identify(res.OpenID,true);
}
},
complete: function(){
// 如果获取 openid 失败,SDK 会以 UUID 作为匿名 ID 发数据
hn.init();
}
});
Vue.config.productionTip = false;
App.mpType = 'app';
const app = new Vue(App);
app.$mount();
1.5 WePY
app.wpy
import hn from './hinaData.esm.js'
import wepy from 'wepy';
// 配置初始化参数
hn.setPara({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '数据接收地址',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendSharePath: true
});
// 初始化 SDK
if(不使用 openid 作为匿名 ID){
hn.init();
}
// 如果需要使用 openid 作为匿名 ID,请单独获取 openid 之后调用 hn.setOpenid() 方法
wx.request({
url: '后端获取 OpenID 的请求',
success: function(res){
if(res.OpenID){
hn.identify(res.OpenID,true);
}
},
complete: function(){
// 如果获取 openid 失败,SDK 会以 UUID 作为匿名 ID 发数据
hn.init();
}
});
export default class extends wepy.app {
onLaunch(option) {}
}
2. SDK 初始化参数说明
参数 | 类型 | 默认值 | 含义 | 备注 |
---|---|---|---|---|
name | String | hn | SDK 使用的一个默认的全局变量,会注册在 App 全局函数内,在 Page 中可以通过 app[name].track 来使用 | |
serverUrl | String | 数据接收地址 | 注意:从海纳嗨数平台上获取对应项目的数据上报地址; | |
autoTrack | Object | 无 | 是否开启自动采集 | 六个属性参数( appLaunch、 appShow、 appHide、 pageShow、 pageShare、mpClick、pageLeave),其中 mpClick、 pageLeave 默认是 false,其他是 true。即默认采集五个事件 H_MPLaunch、H_MPShow、H_MPHide、H_MPViewScreen、H_MPShare |
showLog | Boolean | true | 是否打印 log | 设置 true 后会在模拟器控制台打 log,会显示发送的数据,设置 false 表示不显示。 |
sendTimeout | Number | 1000 | 请求发送超时时间(如果一个请求发送后,超过规定时间没响应,则继续发送下一条数据) | 单位为毫秒; |
useClientTime | Boolean | false | 是否使用客户端时间 | 因为客户端系统时间的不准确,会导致发生这个事件的时间有误,所以这里默认为 false ,表示不使用客户端时间,使用服务端时间,如果设置为 true 表示使用客户端系统时间。 |
batchSend | Boolean | true | 小程序中是否使用批量发送数据功能 | |
datasendTimeout | Number | 3000 | 请求发送取消时间 | 单位为毫秒,请求发送后,在规定时间内未返回结果,则取消请求; |
sourceChannel | Array | 无 | 需要解析的渠道参数 | 默认情况下,只会解析参数 utm_source、 utm_content、 utm_campaign、 utm_medium、 utm_term 设置到预置事件中,可以通过配置该参数来解析其他自定义参数,例如[‘channel_code’],channelcode 属性会作为预置事件的预置属性,latestchannel_code 会作为所有事件的公共属性上报; |
isPersistentSave | Object | 无 | 是否需要将最近一次渠道信息保存到 wxStorage 中 | |
presetProperties | Object | 无 | 配置采集指定预置属性 | |
autotrackExcludePage | Object | 无 | 配置指定页面不采集 H_MPViewScreen 页面浏览事件 | |
framework | Object | 无 | 如果使用 Taro 框架开发小程序,元素点击事件会触发多次,配置 Taro 参数之后可以只采集一次 | 一个属性参数(taro);可配置为 framework: {taro: Taro}。 |
presetEvents | Object | 无 | 预置事件的自定义控制 | 两个属性参数(moments_page, collect_element;moments_page 支持控制是否开启朋友圈单页面数据采集,默认 false, 配置 true 单页面可以发送数据;collect_element 用户点击元素时会触发这个函数,并返回点击事件信息,用来判断是否要采集当前这个元素,返回真表示采集,返回假表示不采集; |
注意
1、“数据接收地址”获取方式,请参考【采集上报地址获取】,注意:从海纳嗨数平台上获取对应项目的数据上报地址;
2、更多初始化配置,请参考【SDK接入】
作者:张永健 创建时间:2024-03-06 17:51
最后编辑:张永健 更新时间:2024-11-20 17:38
最后编辑:张永健 更新时间:2024-11-20 17:38