@syman/point-plugin
v1.1.11
Published
uniapp/mpvue 数据埋点
Downloads
8
Readme
1. @syman/point-plugin
小程序数据埋点
1.1. 说明
# 插件说明
这个插件是目前用于uniapp/mpvue的数据埋点使用的
# 安装
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,但是会以数组方式存储随着页面关闭与页面埋点一起上报