在做客户端埋点的时候,一般分为三类事件,页面浏览事件,元素点击事件,列表item元素曝光事件。页面浏览事件和元素点击事件在做代码埋点时可以很简单的进行埋点,对列表item元素曝光事件的埋点相对来说就麻烦许多,所以本篇文章分享RV列表item的元素曝光埋点。
对列表item元素曝光埋点上报需要处理四个问题
所以item元素可见、不可见状态切换的获取就至关重要。如何及时并正确的获知item元素的可见状态就成为了曝光埋点的核心工作。可能导致item元素可见状态变更主要分为以下几种情况:
那么Android有没有提供什么api能让我们获知这些情况下元素的可见状态的变更呢?很遗憾的是没有,但Android给View提供了两个回调onVisibilityChanged和onWindowVisibilityChanged,现在不少项目都是通过这两个方法来进行曝光的埋点。他们的实现原理是继承各布局View,将曝光数据设置给这个LayoutView,重写这两个方法,在这两个方法里进行曝光的埋点。但是很要命的是这个方案完全没办法处理元素可见区域是否满足曝光认定的条件这个问题,并且在上述的五种可以导致元素可见状态变更的情况下并不是无往不利,某些情况下并不能很好的工作。
基于此种情况下,分享下我的解决方案。详情可见ExposureRecyclerView,在现有代码上少量侵入即可快速、准确的实现RV元素曝光埋点。支持RV的线性布局、网格布局、瀑布流布局,横向滑动等item布局类型的曝光埋点,可配置item的有效曝光面积认定条件。
本文发布于:2024-02-03 03:29:34,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690217248364.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |