帮助中心
- 平台介绍
- 接入指引
- 版本信息
- 使用流程
- 功能手册
- 操作视频
- 技术文档
- 基础知识
- 客户端SDK
- 服务端SDK
- 数据导入
- API功能
- SQL手册
- DML
- SQL函数
- 日期函数
- convert_tz
- curdate,current_date
- current_timestamp
- curtime,current_time
- date_add
- date_format
- date_sub
- datediff
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- makedate
- minute
- month
- monthname
- now
- second
- str_to_date
- time_round
- timediff
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekday
- weekofyear
- year
- yearweek
- localtime,localtimestamp
- quarter
- last_day
- extract
- date_trunc
- minutes_add
- minutes_diff
- minutes_sub
- seconds_add
- seconds_diff
- seconds_sub
- hours_add
- hours_diff
- hours_sub
- days_add
- days_diff
- days_sub
- weeks_add
- weeks_diff
- weeks_sub
- months_add
- months_diff
- months_sub
- years_add
- years_diff
- years_sub
- 字符串函数
- append_trailing_char_if_absent
- to_base64
- from_base64
- ascii
- length
- bit_length
- char_length
- lpad
- rpad
- lower
- lcase
- upper
- ucase
- initcap
- repeat
- reverse
- char
- concat
- concat_ws
- substr
- substring
- sub_replace
- ends_with
- starts_with
- trim
- ltrim
- rtrim
- null_or_empty
- not_null_or_empty
- hex
- unhex
- elt
- instr
- locate
- find_in_set
- replace
- left
- right
- strleft
- strright
- split_part
- split_by_string
- substring_index
- money_format
- parse_url
- convert_to
- extract_url_parameter
- uuid
- space
- sleep
- 日期函数
- 数据类型
- 数据管理
- 常见问题
- 合规说明
- 资源下载
- AB测试
SDK 配置
帮助中心 > 技术文档 > 客户端SDK > 小程序 SDK > 微信小程序 SDK >SDK配置
微信小程序SDK接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。
1. 集成SDK
下载请前往 【Web 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-09-18 16:39
最后编辑:王建华 更新时间:2024-09-18 16:39