1. SDK 初始化
引入 SDk 后,需初始化 SDK
在应用的入口app.js引入SDK,添加代码:
import BeaconAction from '@qiov/tgp-mp-sdk/beacon_mp.min.js'
var success = e => {
console.log('onReportSuccess : ' + e);
};
var fail = e => {
console.log('onReportFail : ' + e);
};
var beacon = new BeaconAction({
appkey: 'appkey', //小程序appKey,从灯塔官网获取,必填
reportUrl: 'https://xxx', // 上报url, 必填
versionCode: 'versionCode', //小程序版本号,选填
channelID: 'channelID', //小程序渠道号,选填
openid: 'openid', // 用户标示符号,选填
unionid: 'unionid', // 用户唯一标示符号,选填
isDebug :false ,//是否测试环境,选填
strictMode: true,//严苛模式开关, 打开严苛模式会主动抛出异常, 上线请务必关闭!!选填
delay: 2000, // 普通事件延迟上报时间(单位毫秒), 默认2000(2秒),选填
onPullDownRefresh: true,//下拉刷新事件统计,默认开启,选填
onReachBottom: true,//页面下拉触底统计,默认开启,选填
onReportSuccess: success, // 上报成功回调,选填
onReportFail: fail, // 上报失败回调,选填
oneidApi: 'http://yyy', // oneid生成地址,选填
});
2.API
2.1设置appkey
beacon.setAppKey('setAppKey');
2.2普通事件上报接口,小程序环境问题,性能较低,注意!!!! value 类型只能是string 或者 number 类型
beacon.onUserAction('eventCode', {
'city': 'shenzhen'
});
2.3 实时事件上报接口,注意!!!! value 类型只能是string 或者 number 类型
beacon.onDirectUserAction('eventCode', {
'city': 'shenzhen'
});
2.4 获取小程序beacon id
beacon.getDeviceId();
2.5 设置公共参数, 注意 !!!! , 相比老接口(setAdditionalParams)新接口是追加,老接口为替换
beacon.addAdditionalParams({
'additionalParams': 'params'
});
2.6 手动上报PV
beacon.reportPV();
2.7 设置用户id
beacon.setOpenId('openid');
2.8 设置唯一id
beacon.setUnionid('setUnionid');
2.9 设置渠道id
beacon.setChannelId('setChannelId');
2.10 设置用户信息
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
beacon.setUserInfo(res);//灯塔会获取用户昵称
}
})
}
}
})
2.11 设置位置信息
wx.getLocation({
type: "wgs84",
success: function (res) {
beacon.setLocation(res);
}
})
2.12 用于小程序 与 H5 打通时,返回 H5 事件上报需携带的小程序预置属性,注意 !!!,这里以拼接字符串的方式给出
wx.getWeappInfo() // 返回'beacon_uin=${uin}&beacon_uid=${uid}&beacon_is_first=${isFirst}'
3 小程序 与 H5 打通
3.1 方案概述
小程序与 H5 的数据打通,是小程序将必要预置属性(这里支持用户标识、用户ID和是否为新用户) 通过 URL 方式传递给 H5 端,H5 端解析URL替换对应事件属性,达到统一用户标识和其他必要属性的目的。
3.2 方案实现
1、调用 wx.setWebViewUrl(URL), 拼接好包含 distinctID 的 URL,微信小程序 V1.14.12 及以上版本支持; 2、URL 参数是绑定的 web-view 的 src 属性值
// webview.js
Page({
data: {
webUrl: ''
},
onLoad: function (options) {
const URL = 'https://example/demo.html' 必填项
this.setData({
webUrl: beacon.setWebViewUrl(URL)
});
}
});
// webview.wxml
<web-view src="{{ webUrl }}"></web-view>