《Android全埋点解决方案》 —2.2原理概述

举报
华章计算机 发表于 2019/12/19 11:44:34 2019/12/19
【摘要】 本节书摘来自华章计算机《Android全埋点解决方案》 一书中第2章,第2.2节,作者是王灼洲 。

2.2原理概述

实现Activity的页面浏览事件,大家首先想到的是定义一个BaseActivity,然后让其他Activity继承这个 BaseActivity。这种方法理论上是可行的,但不是最优选择,有些特殊的场景是无法适应的。比如,你在应用程序里集成了一个第三方的库(比如 IM 相关的),而这个库里恰巧也包含 Activity,此时你是无法让这个第三方的库也去继承你的 BaseActivity(最起码驱使第三方服务商去做这件事的难度比较大)。所以,为了实现全埋点中的页面浏览事件,最优的方案还是基于我们上面讲的 Application.ActivityLifecycleCallbacks。

不过,使用Application.ActivityLifecycleCallbacks机制实现全埋点的页面浏览事件,也有一个明显的缺点,就是注册Application.ActivityLifecycleCallbacks 回调要求 API 14+。

在应用程序自定义的 Application类的 onCreate()方法中初始化埋点 SDK,并传入当前的Application 对象。埋点SDK 拿到 Application 对象之后,通过调用 Application的registerActivityLifecycleCallback(ActivityLifecycleCallbacks callback)方法注册Application.ActivityLifecycleCallbacks回调。这样埋点 SDK 就能对当前应用程序中所有的 Activity 的生命周期事件进行集中处理(监控)了。在注册的 Application.ActivityLifecycleCallbacks 的onActivityResumed(Activity activity)回调方法中,我们可以拿到当前正在显示的 Activity对象,然后调用 SDK 的相关接口触发页面浏览事件($AppViewScreen)即可。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。