1、下载友盟的包
npm install umtrack-wx --save
2.配置
在根目录新建 track.js 和uma.js 文件
track.js 文件
/** * 全局事件统计, * 通过重写Component,实现监听onShow勾子函数,通过统一重写onShow函数 * 用来统计哪个租户打开过哪个些页面 */ import uma from 'umtrack-wx'; import Vue from 'vue' var track = (function(){ // var uma = 1; var tenantid = null; /** * onShow重写方法,类似于代理,先执行此方法,再执行真实的方法 * @param {Object} e */ function show(e){ try{ //这里配置自定义事件 var pages = getCurrentPages() uma.trackEvent('eventID',{tenantid:track.tenantid,page:pages[pages.length-1].route}) //eventID是在友盟后台你自己创建的 }catch(e){ console.error(e) } } /** * 设置重写方法(部署代理方法) * @param {Object} e 重写方法的对象 * @param {Object} t 重写方法的名称 * @param {Object} n 重写方法需要执行的方法 */ function at(e, t, n) { var i = e[t]; e[t] = function(e1) { n.call(this, e); i && i.call(this, e) } } /** * Vue use执行的install 方法,此方法中重写Component * @param {Object} Vue */ function install(Vue){ try { var gt = Component; var _this = this Component = function(t) { try { t.methods = t.methods || {}; var e = t.methods; at(e, "onShow", show); gt(t) } catch (e) { gt(t) } } console.log("=============Component 重写成功===========") } catch (e) { console.warn("=============Component重写异常=============") } Vue.prototype.$track = this; track.uma = Vue.prototype.$uma } return { install:install, uma:uma, tenantid:tenantid } })() export default track;
uma.js 文件
// #ifdef MP-WEIXIN import uma from 'umtrack-wx'; import Vue from 'vue' uma.init({ appKey: '由友盟分配的APP_KEY', useOpenid: true ,// 是否需要通过友盟后台获取openid或匿名openid,如若需要,请到友盟后台设置appId及secret,若设置了false,tt比较特殊,需要手动调用setAnonymousid设置这个参数 autoGetOpenid: false,//是否打开调试模式 debug: true // 自动上传用户信息,设为false取消上传,默认为false }); // #endif // #ifdef H5 const uma = { init:()=>{}, _inited:false, trackEvent:()=>{}, setOpenid:()=>{}, setUserid:()=>{}, setUnionid:()=>{}, pause:()=>{}, resume:()=>{} } // #endif // 适配vue插件如此可通过Vue.use(uma)来安装 uma.install = function (Vue) { Vue.prototype.$uma = uma; } export default uma;
3 引入
在main.js中
import track from '@/track.js' Vue.use(track)
在app.vue 中
onLaunch(){ setTimeout(()=>{ this.$uma.setAnonymousid('setAnonymousid') },5000) }
4 使用
在首页导入
import track from '@/track.js' import uma from '@/uma.js'
获取参数后,调用
uma.setOpenid('openid') track.tenantid = 'tenantid '