npm i xkw-miniprogram-tracker-test --repository=http://nexus.xkw.cn/repository/mp-npm/
由于小程序不支持直接引入node_modules里面的资源,所以需要将index.js复制到自己的目录下。
在app.js中引入资源并创建埋点实例
app.js
const tracker = require('./static/xkw-miniprogram-tracker-test/index')
tracker.init({
name: 'tracker', // 在其他页面访问tracker对象使用的标识;可以通过getApp().tracker获取这个对象
product: '学科网' // 必填字段;学科网/组卷网/e备课/AI研修等
})
init()方法需要接受两个配置项,一个是name,是埋点实例的标识符,在其他页面需要使用getApp()[标识符]获取埋点实例;另一个是product表示产品,product字段会拼接到发送的数据对象中
在app.js中可以直接使用tracker对象,在其他组件中,需要使用getApp()['tracker]
拿到tracker对象
方式一:(key, value)形式,一次只传入一个参数
tracker.send('$user_id', 'xy05867') // 添加key为$user_id,value为xy05867的数据
方式二:对象形式,可以批量添加
tracker.send({
$user_id: 'xy05867',
$openid: 'AAAA-BBBB-CCCC-DDDD'
})
key值一致的数据会进行覆盖
发送的数据key要以$开始,以示区分,key是产品列举出来的数据中的key,如果要发送其他数据,需要使用扩展字段的形式发送
扩展字段传参说明$extension
含义:自定义的业务扩展字段,json字符串格式
举例:
tracker.send({
$extension: JSON.stringify({
message: '自定义字段'
})
})
发送数据:
{
$message: '自定义字段',
$user_id: 'xy05867',
$openid: 'AAAA-BBBB-CCCC-DDDD',
// ...其他自动的字段
}
含义:自定义事件,json字符串格式,至少包含event_name属性
举例:
sensors.sendCustom('{"event_name":"user_identity_confirm_popup","selected_identity":"老师"}')
发送数据:
接入端调用sendCustom()
方法的时候,会立即发送这条数据,并且数据中只有$custom一个属性
{
$custom: {
event_name: "user_identity_confirm_popup",
selected_identity: "老师"
}
}