uniapp/mpvue 数据埋点
npm install @syman/point-plugin> 小程序数据埋点
bash
插件说明
这个插件是目前用于uniapp/mpvue的数据埋点使用的
`` bash
安装
npm i @syman/point-plugin
`
1.2. 使用
* ### 初始化注册
* 在项目根目录App.js入口文件的onLaunch生命周期中里调用this.getwxObj_() 方法
分别传入uni(也可以是wx) appVersion param api
并且在App.js 的 onshow 生命周期里塞入需要打点的页面并调用打点方法
`
onLaunch() {
this.getwxObj_({
root:uni, //root是小程序根对象
openStatus: true, //是否开启埋点上传(这个键也可以不传 默认为true)
appVersion:this.globalData.appVersion, //当前小程序版本号
param:{}, //接口需要额外加入的参数
shareCode:'',//分享人信息
userInfo:{}, //用户信息
api:this.$api.pointUpload, //埋点上传的接口 是个函数
success:function(res){ //初始化成功回调
console.log(res)
}
})
},
methods:{
pointUpload(data){ //自己自定义封装的埋点上传方法
console.log(data) 这个是埋点回调的数据 下面可以写自己上传的接口代码
uni.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data, //上传给后台的data对象 注:如果需要额外加入自定义的参数可以在this.getwxObj_的param里加入
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res)
}
})
}
},
onShow: function() {
this.getRoute_([ //这个是加入的需要埋点的页面
'pages/index/index',
'pages/goods/index/index'
])
this.$$startPoint() //这个方法是统计小程序启动(包括冷启动丶热启动)的埋点
},
` * ### 事件埋点
* 如果需要事件埋点比如点击事件,直接调用this.$$eventPoint({desc:{label:'点击购买按钮':value:'1'}})
`
this.$$eventPoint({
type:0 // type为埋点类型 0为自定义类型 1.固定埋点规则 海报分享埋点(需要posterType有值) 2.点击转发分享
posterType:1 //posterType为海报类型 type为1的时候可传,其他type类型则不传
desc:{label:'点击购买按钮':value:'1'} //自定义事件类型 desc里面的结构可以自定义,type类型可以不传默认为0
})
`
示例埋点如下
`
methods:{ //需要打点页面的methods
click(){
this.$$eventPoint({desc:{label:'点击购买按钮':value:'1'}}) //自定义埋点规则 支持desc内部键值对自定义
this.$$eventPoint({type:1,posterType:'1'}}) //固定埋点规则 type:1 海报分享埋点 posterType是海报类型
this.$$eventPoint({type:2}}) //固定埋点规则 type:2 点击转发分享
}
},
`
* ### 埋点上报结构
`
//下面的为简化结构 具体的结构请查看git的wiki
{
pointType:'page' //page 是页面类型 event是点击事件类型 start 第一次启动
event: { //按钮点击事件(如果pointType是event的时候 当前对象有值 否则为null)
desc: {label:'点击购买按钮',value:'1'}, // 点击事件为其他类型的时候取desc描述 支持自定义
type: 0, //事件类型 0 其他点击事件类型
time: 1222 //当前点击的时间戳
},
route:'pages/page/index1', //当前路由
prevRoute:'pages/index/index', //上页路由
enterTime:34555, //进入时间
outTime:342342, //出来时间
stayTime:3200, //停留时间
params:{ //页面路由参数
order_id:5637
},
scene:1001, //1001发现栏小程序主入口 1011扫描二维码 1012长按图片识别二维码 1013扫描手机相册中选取的二维码 1035 公众号自定义菜单 1036 App 分享消息卡片(仅第一次上报)
appId:'wx124324', // appId
sdkVersion:'1.0.0', //sdk版本号(打点版本号)
appVersion: '0.0.1', //小程序版本号
shareCode: 234, //分享人信息可不传
userInfo:{} //用户信息可自定义设置
systemInfo:{ //设备信息(设备全部信息 仅第一次上报)
brand:'', //设备品牌
model:'', //设备型号
version:'',//微信版本号
system:'', //操作系统及版本
platform:'',//客户端平台
SDKVersion:'' //客户端基础库版本
}
}
`` 埋点分为启动埋点、页面浏览埋点、点击事件埋点三个部分
启动埋点是小程序打开的时候自动触发此时pointType为start
页面埋点为离开埋点页面自动上报 此时pointType为page
事件埋点为点击时候触发此时pointType为event,但是会以数组方式存储随着页面关闭与页面埋点一起上报