uniapp 小程序接入友盟 ,自定义事件携带参数

简介: uniapp 小程序接入友盟 ,自定义事件携带参数

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 '

换工作?找面试题? 来前端面试题库 wx搜索 MST题库

目录
打赏
0
0
0
0
12
分享
相关文章
基于Uniapp+php校园小程序,校园圈子论坛系统功能,校园跑腿二手交流功能设计
校园圈子论坛及综合服务平台集成了校园跑腿、兼职信息、外卖团购、闲置交换、租赁服务、表白墙等多功能模块,提供一站式校园生活解决方案。系统采用uniapp前端和PHP后端开发,支持多城市、多学校切换,配备分站式后台管理,确保稳定性和安全性。通过融云IM SDK实现即时通讯功能,增强用户互动与粘性。适用于大学校园、城市及社区圈子,满足多样化需求,提升便捷体验。
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
超详细攻略!uniapp陪玩系统,打包陪玩小程序、H5需要注意什么?
陪玩系统的打包过程涵盖APP、小程序和H5平台。APP打包需使用uni-app开发工具,配置项目信息并选择云打包;小程序打包需在微信公众平台注册账号并提交审核;H5打包则直接通过uni-app生成文件并上传至服务器。各平台需注意权限配置、代码规范及充分测试,确保应用稳定性和兼容性。
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
26 0
uni app下开发AI运动小程序解决方案
本文介绍了在小程序中实现AI运动识别的解决方案。该方案依托于UNI平台,通过高效便捷的插件形式,实现包括相机抽帧控制、人体识别、姿态识别等在内的多项功能,无需依赖后台服务器,大幅提高识别效率和用户体验。方案内置多种运动模式,支持自定义扩展,适用于AI健身、云上赛事、AI体测等多场景,适合新开发和存量改造项目。
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
79 0
在线课堂+工具组件小程序uniapp移动端源码
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
564 3
|
4月前
|
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
95 0
微信小程序更新提醒uniapp
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
78 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等