iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >支付宝小程序从手动埋点到自动埋点的实现过程
  • 550
分享到

支付宝小程序从手动埋点到自动埋点的实现过程

2024-04-02 19:04:59 550人浏览 八月长安
摘要

目录手动埋点需要埋点的场景自动埋点1、通过事件冒泡监听元素是否被点击2、扩展Page方法3、对页面函数埋点4、通过配置表设置埋点总结手动埋点 现在小程序埋点需要手动添加埋点事件触发,

手动埋点

现在小程序埋点需要手动添加埋点事件触发,

// axml
<view onTap="track" data-ilog="xxx">这只是一个展示view</view>

//js 
track(e) {
   ...业务代码
   
   // 埋点代码
  app.sentEventCustom("click", this, this.query, e.target.dataset.ilog);
}

会有以下几个问题:

  • 业务代码和埋点代码写在一起,影响代码的阅读体验
  • 埋点代码散落在各个地方,不方便管理。比如运营要增加删除埋点时,统一管理会更方便

需要埋点的场景

1.普通点击事件

// axml
<view onTap="track" class="ilog" data-ilog="xxx">这只是一个展示view</view>

//js 
track(e) {
   // 埋点代码
   report()
}
  • 下拉刷新时,没有触发点击,可以选择对该事件进行埋点

  onPullDownRefresh() {
    // 埋点代码
    report()
  },
  • 埋点要在promise事件上
//js 
async onAuthPhone() { 
  await app.getUserPhone()
  // 埋点代码
  report()
}

总结:我们要实现页面元素点击时触发埋点,也要能在事件执行后触发埋点

自动埋点

1、通过事件冒泡监听元素是否被点击

  • 方案一:在axml最外层绑定catchTap事件,获取点击元素的ilog信息

    • 缺点:捕获的目标元素为最里层,该层不一定添加了ilog
  • 方案二:在需要发送埋点的元素增加样式类'.ilog',点击时最外层catchTap获取点击位置的X,Y轴值,同时通过queryselectAll获取'.ilog'元素的位置,判断点击位置是否在'.ilog'内,如果是的话,发送埋点信息。如下图:

2、扩展Page方法

由于最外层绑定catchTap事件方法需要在Page中定义以供wxml调用,如果每个页面手动编写就过于繁琐了,可以通过改写Page来实现自动扩展,代码如下

// 记录原Page方法
const originPage = Page;
// 重写Page方法
Page = (page) => {
  // 给page对象注入三个方法
  page.elementTracker = function() {}
  page.methodTracker = function() {}
  page.isClickTrackArea = function() {}
  return originPage(page);
};

3、对页面函数埋点

有些场景我们除了对页面元素点击埋点,还要对页面函数进行埋点,例如用户下拉刷新的时候,可以对原方法进行包装,插入埋点代码,方案和第二点差不多。

const originPage = Page;
// 重写Page方法
Page = (page) => {
  // 给onShow方法插入埋点
  const originMethod = page['onShow'];
  page['onShow'] = function() {
    report() // 记录埋点
    return originMethod();
  }
  return originPage(page);
};

4、通过配置表设置埋点

上面介绍了页面元素和函数的埋点方式,下面讲一下如何管理埋点信息解决代码入侵问题,可以把埋点信息以配置表的方式声明,以后还可以做到动态配置,在服务端配置完毕下发到客户端。

const tracks = {
  path: 'pages/film/detail',
  elementTracks: [
    {
      element: '.buy-now',  // 声明需要监听的元素
      dataKeys: ['film.filmId'], // 声明需要获取Data下的film对象下的filmId字段
    },
  ],
  methodTracks: [
    {
      method: 'toBannerDetail', // 声明需要监听的函数
      dataKeys: ['imgUrls'], // 声明需要获取Data下的imgUrls数据
    },
  ],
};

总结

到此这篇关于支付宝小程序从手动埋点到自动埋点的文章就介绍到这了,更多相关支付宝小程序自动埋点内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 支付宝小程序从手动埋点到自动埋点的实现过程

本文链接: https://www.lsjlt.com/news/143915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 支付宝小程序从手动埋点到自动埋点的实现过程
    目录手动埋点需要埋点的场景自动埋点1、通过事件冒泡监听元素是否被点击2、扩展Page方法3、对页面函数埋点4、通过配置表设置埋点总结手动埋点 现在小程序埋点需要手动添加埋点事件触发,...
    99+
    2024-04-02
  • 支付宝小程序从手动埋点到自动埋点如何实现
    本篇内容主要讲解“支付宝小程序从手动埋点到自动埋点如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“支付宝小程序从手动埋点到自动埋点如何实现”吧!手动埋点现在小程序埋点需要手动添加埋点事件触...
    99+
    2023-06-29
  • 如何在微信小程序中实现一个手动埋点和自动埋点功能
    如何在微信小程序中实现一个手动埋点和自动埋点功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、手动埋点手动埋点就是在每一处需要的地方,都加一段上报埋点的代码。影响代码的...
    99+
    2023-06-06
  • 工具分享:实现前端埋点的自动化管理
    埋点一直是 H5 项目中的重要一环,埋点数据更是后期改善业务和技术优化的重要基础。【推荐学习:web前端、编程教学】在日常的工作中,经常会有产品或者业务的同学来问,“这个项目现在有哪些埋点?”,“这个埋点用在哪些地方?”像这样的问题基本上都...
    99+
    2023-05-14
    前端埋点 前端 web前端 Webpack ESLint Vue.js
  • 支付宝小程序的优点有哪些
    本篇内容主要讲解“支付宝小程序的优点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“支付宝小程序的优点有哪些”吧!  商家必须了解的支付宝小程序的3个优点  1、充分呈现开放性  我们知道现...
    99+
    2023-06-26
  • Uniapp微信小程序实现全局事件监听并进行数据埋点的方法
    目录零、前言一、软件环境二、相关分析及实现uniapp编译微信小程序时对于事件的处理分析源Vue模板及编译产物wxml对照微信小程序自定义组件Component分析事件对象并编写事件...
    99+
    2022-11-16
    微信小程序监听全局点击事件 小程序全局变量监听 uniapp微信小程序全局事件监听
  • 小程序实现点击动画效果
    本文实例为大家分享了小程序实现点击动画效果的具体代码,供大家参考,具体内容如下 今天接到一个小程序优化需求,要实现一个点击的动画效果 考虑实现方法,使用css的transition...
    99+
    2024-04-02
  • 基于Vue3实现前端埋点上报插件并打包发布到npm的详细过程
    目录项目环境搭建插件开发点击事件上报vue自定义指令手动上报方法页面访问次数上报(pv,uv)页面停留时间(TP)获取公共参数引入axios打包发布使用说明OptionOptions...
    99+
    2022-11-13
    Vue打包发布到npm Vue埋点上报插件打包发布到npm
  • 微信小程序实现点餐小程序左侧滑动菜单
    目录前言一、初识scroll-view二、左侧导航三、右侧滑动前言 最近在帮亲戚做一款微信的点餐小程序,以前从没有接触过小程序的我只能现做现卖。一边看文档一边实践尝试,在进行到点菜模...
    99+
    2024-04-02
  • 接入支付宝小程序能力,人人租机实现从 0-100 增长
    人人租机是国内知名,为企业和个人提供信用免押租赁的全品类新租赁平台,也是在全国首个推出“新租赁小程序“开发服务的阿里小程序服务商(ISV)。18年11月获蚂蚁金服A轮融资,19年3月成为支付宝小程序服务商...
    99+
    2024-04-02
  • 小程序animate动画实现直播间点赞
    本文实例为大家分享了小程序animate动画实现直播间点赞的具体代码,供大家参考,具体内容如下 代码: <view class="listImg">     <b...
    99+
    2024-04-02
  • 微信小程序实现滑动/点击切换Tab
    背景 👏 swiper+scroll-view实现滑动/点击切换Tab,以及scroll-left的使用~ 🥇文末分享源代码。记得点赞+关注+收藏! 1.实现效果 2.实现步骤 2.1 scroll-vie...
    99+
    2023-08-16
    微信小程序 小程序 前端
  • 微信小程序如何实现点餐小程序左侧滑动菜单
    这篇文章主要讲解了“微信小程序如何实现点餐小程序左侧滑动菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现点餐小程序左侧滑动菜单”吧!效果图:一、初识scroll-view...
    99+
    2023-07-02
  • Python自动化办公小程序:实现报表自动化和自动发送到目的邮箱
    大家好!我是虎哥。项目背景作为数据分析师,我们需要经常制作统计分析图表。但是报表太多的时候往往需要花费我们大部分时间去制作报表。这耽误了我们利用大量的时间去进行数据分析。但是作为数据分析师我们应该尽可能去挖掘表格图表数据背后隐藏关联信息,而...
    99+
    2023-05-14
    Python 报表自动化 邮箱
  • 微信小程序中scroll-view实现锚点滑动的方法
    这篇文章主要介绍微信小程序中scroll-view实现锚点滑动的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示意图如下:因为在微信小程序的环境中不能想在浏览器里设置标签,或者操...
    99+
    2024-04-02
  • Nuxt.js 部署的演变:从静态站点到动态应用程序
    引言 Nuxt.js 是一个适用于 Vue.js 的通用服务器端渲染(SSR)框架,它使开发人员能够轻松地创建静态站点和动态应用程序。随着 Nuxt.js 的不断演进,其部署方式也随之变化,从最基本的静态站点生成到更复杂的动态应用程序部署...
    99+
    2024-03-06
    Nuxt.js 部署 nuxt generate nuxt build
  • Python编程实现简单的微博自动点赞
    目录一、实现登陆微博功能二、实现发送微博三、实现微博自动点赞觉得微博手动点赞太过麻烦? 其实自动点赞的实现并不困难! 本篇会有Cookie、session和token方面的知识,不太...
    99+
    2024-04-02
  • 微信小程序+ECharts实现动态刷新的过程记录
    前言 最近遇到了一个需求,就是要在小程序中实时刷新图表,最开始选择的是wx-chart,然后发现不能满足我的需求,最后选择了ECharts,也踩了一些坑,通过在网上收集资料,终于弄出...
    99+
    2024-04-02
  • 如何使用PHP实现微信小程序的自动签到功能?
    如何使用PHP实现微信小程序的自动签到功能?随着微信小程序的快速发展,越来越多的企业和个人开始使用微信小程序来为用户提供便捷的服务。其中,自动签到功能在很多场景中都非常常见,比如学校、企业、健身房等。本文将介绍如何使用PHP来实现微信小程序...
    99+
    2023-10-26
    PHP 微信小程序 自动签到
  • 微信小程序如何实现点击item使其滚动到屏幕中间位置
    这篇文章将为大家详细讲解有关微信小程序如何实现点击item使其滚动到屏幕中间位置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.需求想做类似猫眼电影选场次会自动滚动到屏...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作