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

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.1.110latest

Version History

VersionDownloads (Last 7 Days)Published
1.1.110
1.1.100
1.1.90
1.1.80
1.1.70
1.1.60
1.1.51
1.1.40
1.1.30
1.1.20
1.1.10
1.1.00
1.0.270
1.0.260
1.0.250
1.0.241
1.0.230
1.0.220
1.0.210
1.0.200
1.0.190
1.0.180
1.0.170
1.0.160
1.0.110
1.0.60
1.0.50
1.0.40
1.0.150
1.0.140
1.0.90
1.0.70
1.0.130
1.0.120
1.0.100
1.0.80
1.0.30
1.0.20
1.0.10

Package Sidebar

Install

npm i @syman/point-plugin

Weekly Downloads

2

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