RecyclerView曝光埋点

阅读: 评论:0

RecyclerView曝光埋点

RecyclerView曝光埋点

RecyclerView曝光埋点

  在做客户端埋点的时候,一般分为三类事件,页面浏览事件,元素点击事件,列表item元素曝光事件。页面浏览事件和元素点击事件在做代码埋点时可以很简单的进行埋点,对列表item元素曝光事件的埋点相对来说就麻烦许多,所以本篇文章分享RV列表item的元素曝光埋点。

对列表item元素曝光埋点上报需要处理四个问题

  1. 元素是否可见(开始曝光)
  2. 元素是否不可见(结束曝光)
  3. 元素可见区域是否满足曝光认定的条件(eg:很多公司会要求item可见区域超过50%才认为是有效曝光)
  4. 获取元素对应的曝光数据

所以item元素可见、不可见状态切换的获取就至关重要。如何及时并正确的获知item元素的可见状态就成为了曝光埋点的核心工作。可能导致item元素可见状态变更主要分为以下几种情况:

  1. RecyclerView控件上下滑动
  2. 前后台切换
  3. 页面跳进跳出
  4. ViewPager + Fragment左右切换
  5. RecyclerView数据源改变

  那么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小时内删除。

标签:RecyclerView
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23