@syman/point-plugin

1.1.11 • Public • Published

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,但是会以数组方式存储随着页面关闭与页面埋点一起上报

Package Sidebar

Install

npm i @syman/point-plugin

Weekly Downloads

5

Version

1.1.11

License

MIT

Unpacked Size

47.4 kB

Total Files

4

Last publish

Collaborators

  • yiq
  • wangjianfei
  • liming436
  • huai.yang
  • ximao
  • burgeon-developer
  • gqw