页面浏览事件之 $AppViewScreen 全埋点

栏目: Android · 发布时间: 5年前

内容简介:ActivityLifecycleCallbacks 是 Application 的一个内部接口,从 API 14 开始提供的。Application 通过此接口提供了一套回调方法,用于让开发者可以对 Activity 的所有生命周期事件进行集中处理(或者叫监控)。可以通过 application.registerActivityLifecycleCallback 注册 ActivityLifecycleCallbacks。public interface ActivityLifecycleCallbac

页面浏览事件之 $AppViewScreen 全埋点 $AppViewScreen 事件,即页面浏览事件。 在 Android 系统中,页面浏览,其实就是指切换不同的 Activity。那对于一个 Activity,哪个生命周期执行了代表该页面显示出来了呢?通过对 Activity 的生命周期了解可知,其实就是 onResume 生命周期。

Application.ActivityLifecycle- Callbacks

ActivityLifecycleCallbacks 是 Application 的一个内部接口,从 API 14 开始提供的。Application 通过此接口提供了一套回调方法,用于让开发者可以对 Activity 的所有生命周期事件进行集中处理(或者叫监控)。可以通过 application.registerActivityLifecycleCallback 注册 ActivityLifecycleCallbacks。

Application.ActivityLifecycleCallbacks 接口定义如下:

public interface ActivityLifecycleCallbacks {

void onActivityCreated(Activity activity, Bundle savedInstanceState);

void onActivityStarted(Activity activity);

void onActivityResumed(Activity activity);

void onActivityPaused(Activity activity);

void onActivityStopped(Activity activity);

void onActivitySaveInstanceState(Activity activ- ity, Bundle outState);

} void onActivityDestroyed(Activity activity);

以 onResume(Activity activity) 为 例,如 果 注 册 了 ActivityLifecycleCallbacks,Android 系 统 会 先 回 调 ActivityLifecycleCallbacks 的 onActivityResumed 方 法, 然后再执行 Activity 本身的 onResume 函数 ( 请注意这个 调 用 顺 序 ) 。通 过 registerActivityLifecycleCallback 方 法名中的“register”字样可以知道,一个 Application 是 可 以 register 多 个 ActivityLifecycleCallbacks 的,通 过 registerActivityLifecycleCallback 的内部实现也可以证实这一点。

public void registerActivityLifecycleCallbacks (ActivityLifecycleCallbacks callback) {

{ synchronized (mActivityLifecycleCallbacks) back); mActivityLifecycleCallbacks.add(call- }}

原理概述

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

实现步骤

完整的项目源码后续会 release 给大家。

缺点

注册 Application.ActivityLifecycleCallbacks 要求 API 14+ 。

知识点

Application.ActivityLifecycleCallbacks

注:该内容来自神策数据用户行为洞察研究院出品的《Android 全埋点解决方案》白皮书,查看完整白皮书可点击 《Android 全埋点解决方案》

更多白皮书、报告、干货和案例,可以关注“神策数据”和“用户行为洞察研究院”公众号了解~ 页面浏览事件之 $AppViewScreen 全埋点


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

单元测试之道Java版

单元测试之道Java版

David Thomas、Andrew Hunt / 陈伟柱、陶文 / 电子工业 / 2005-1 / 25.00元

程序员修炼三部曲丛书包含了四本书,介绍了每个注重实效的程序员和成功团队所必备的一些工具。 注重实效的程序员都会利用反馈来指导开发,并驱动个人的开发流程。编码的时候,最有用的反馈来自于“单元测试”。 为了测试一座桥梁,不会只在晴朗的天气,开一辆汽车从桥中间穿过,就认为已经完成了对桥梁的测试。然而许多程序员却正在使用这种测试方法——把这种一次顺利通过称为“测试”。事实上,注重实效的程序员应......一起来看看 《单元测试之道Java版》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器