一行代码搞定 Android 复杂列表埋点曝光
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一行代码搞定 Android 复杂列表埋点曝光相关的知识,希望对你有一定的参考价值。
参考技术A一个好的产品离不开数据分析,在手机 APP 中,数据分析极致化需要细致到某个时刻列表曝光的了哪几个 Item。
2022 年了,基本上目前 android 上可以滑动的复杂列表都是 RecyclerView 或者其扩展,这里分享一个封装的思路。
如果非要细化细节:
各种方案核心都差不多,最关键的就是通过 LayoutManager 获取屏幕内第一个可见和最后一个可见 item position,上报其区间内的 Item。这里简称这个逻辑为 检查上报逻辑 。
但是触发时机有所不同,通常如下方案一和二所述,当然除了方案一和方案二外,还有一些别的方案,比如监听 RecyclerView 的布局树变化触发 检查上报逻辑 等方案。
可以发现方案二相比方案一更有利于减少各种回调的注册和周期的控制,下文会在方案二的基础上,阐述用法和相关实现思路。
仓库地址: RecyclerViewExposure
这里会主要说明一些主要逻辑,需要完整的逻辑可以 fork 仓库 查看
思路来自于 lifecycle 的设计,这里主要是想让 Activity/Fragment 提供可见和不可见的状态变化给外部订阅
对 List Item 的收集处理是 RecyclerViewExposure 最核心的收集数据逻辑,这里针对在 Activity 的使用作为例子。上文已经讲述如何做一个 PageLifeCycleHolder 为其他组件提供页面可见状态,下文将直接使用。
ZB埋点汇总
一期C3
- 标绿的就不要了
- 没打出来自动化的问题+打出来没有字段区分,一键登录和一键绑定相同的打点
- RN人工打点
- 服务端的SCM字段
- 推荐列表:同城和在线,SCM字段
- 弹窗的曝光没有、部分子页面不是之前的方式的、部分列表礼物面板等、超富文本点击区域???一个提示里面是难测的
- 页面amview的type不同或者用 viewstart/viewend
- 怎么看日志??IOS映射表
- scannnew????
- 控件名区分坑位:
am_click{"_id":"tv_login_privacy_protocol_agree","_mspm2":"LoadingActivity.0.0.0.tv_login_privacy_protocol_agree.0.0","_page":"LoadingActivity","group":"Default_normal","lca":1,"netstatus":"wifi","pid":20864}
- 唯一不能处理的是嵌套view,一个table view,弹窗的type设置为dialog,之前是page会多算????page和subpage?
- 映射不一样????IOS和安卓本来就不一样???
- _resource_1_isBinding":false表示登录,反之是绑定,有几个数字就是几
- 清空按钮 人工???
- 获取验证码按钮有业务逻辑,非自动化
- 40-43 输入验证码页面要看情况???
- 54、55他人个人资料页面,用户ID、Refer人工埋点?
- am_click{"_id":"present","_mspm2":"MessageDetailActivity.GiftDetailDialog.0.0.present.0.0","_page":"MessageDetailActivity","_referer":"LoadingActivity.0.0.0.0.0.0|MainActivity.MessageListFragment.FragmentViewHolder.2.SessionItemViewHolder.2.2","_subpage":"GiftDetailDialog","group":"Default_normal","lca":1,"netstatus":"4g","pid":18964,"_resource_1_receive":true}
- 67-71富文本
- 人工埋点要给枚举值,只能表示富文本????_id????只需要给第五级的名字。_page要改一下?????
- 1同城2反之
- 1成功2失败
- -1-alg-1-scm
以上是关于一行代码搞定 Android 复杂列表埋点曝光的主要内容,如果未能解决你的问题,请参考以下文章