1.1.11 • Published 3 years ago

@syman/point-plugin v1.1.11

Weekly downloads
40
License
MIT
Repository
-
Last release
3 years ago

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

1.1.9

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.29

3 years ago

1.1.28

3 years ago

1.1.2

3 years ago

1.0.27

4 years ago

1.0.26

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.11

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.10

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago