微信小程序Taro如何实现自动埋点功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计543个文字,预计阅读时间需要3分钟。
相关学习推荐:小程序开发教程+在从事各种业务时,我们不可避免的需要在业务中进行埋点,这些埋点通常包括但不限于曝光、点击、停留时长、离开页面等场景,而在小程序中因埋点而引发的问题。
相关学习推荐:小程序开发教程
在做各种各样的业务时,我们不可避免的需要在业务中进行埋点,这些埋点通常包含但不限于曝光、点击、停留时长、离开页面等场景,而在小程序中因为其和浏览器不同的架构,导致了监听页面变的更加困难,通常我们都会通过重写 Page 方法来达到对小程序原生生命周期的拦截代理,从而进行业务埋点,但是在 Taro 中这一切变得不同了。
现状
在多端统一的Taro中,我们不再能看到显式的 Page 调用,甚至 Taro 打包之后的代码里也不再存在任何 Page 的迹象,取而代之的则是小程序原生的 Component(这一点大家通过观察打包后的内容可以得知),所以为了实现微信小程序在Taro中的自动埋点,我们需要换一个策略:重写Component。
基本的重写
在微信小程序中,其暴露的Component 和 Page 能够直接被重写并进行赋值:
const _originalComponent = Component;const wrappedComponent = function (options) { ...do something before real Component return _originalComponent(options); }复制代码
这样可以很快的解决问题,但是当我们在另一个小程序做这件事情的时候,我们就又需要手动做一次这些处理,难免有些麻烦,为什么不找一个更通用的方案,我们只用
本文共计543个文字,预计阅读时间需要3分钟。
相关学习推荐:小程序开发教程+在从事各种业务时,我们不可避免的需要在业务中进行埋点,这些埋点通常包括但不限于曝光、点击、停留时长、离开页面等场景,而在小程序中因埋点而引发的问题。
相关学习推荐:小程序开发教程
在做各种各样的业务时,我们不可避免的需要在业务中进行埋点,这些埋点通常包含但不限于曝光、点击、停留时长、离开页面等场景,而在小程序中因为其和浏览器不同的架构,导致了监听页面变的更加困难,通常我们都会通过重写 Page 方法来达到对小程序原生生命周期的拦截代理,从而进行业务埋点,但是在 Taro 中这一切变得不同了。
现状
在多端统一的Taro中,我们不再能看到显式的 Page 调用,甚至 Taro 打包之后的代码里也不再存在任何 Page 的迹象,取而代之的则是小程序原生的 Component(这一点大家通过观察打包后的内容可以得知),所以为了实现微信小程序在Taro中的自动埋点,我们需要换一个策略:重写Component。
基本的重写
在微信小程序中,其暴露的Component 和 Page 能够直接被重写并进行赋值:
const _originalComponent = Component;const wrappedComponent = function (options) { ...do something before real Component return _originalComponent(options); }复制代码
这样可以很快的解决问题,但是当我们在另一个小程序做这件事情的时候,我们就又需要手动做一次这些处理,难免有些麻烦,为什么不找一个更通用的方案,我们只用

