android 页面切换自动埋点

Android4.0之后Application添加了Application.ActivityLifecycleCallbacks接口,这个接口一经注册,就会自动监听整个APP 中所有Activity 的生命周期方法的执行(会在对应的父类Activity的方法被执行之后自动触发)。实现无感知的监听Activity的启动,由此实现对小方页面切换的自动埋点。registerActivityLifecycleCallbacks方法即可完成注册(在XfApplication中完成)。此接口是在android 4.0推出的,目前小方支持的最低版本高于4.0,所以对小方支持的机型不会有任何影响。
在自定义的application中注册接口 registerActivityLifecycleCallbacks(activityLifecycleCallbacks); 在inTerminate中注销接口监听 unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);实现
ActivityLifecycleCallbacks 接口对activity的生命周期的方法如下: private ActivityLifecycleCallbacks activityLifecycleCallbacks = new ActivityLifecycleCallbacks() {
/**
* application下的每个Activity声明周期改变时,都会触发以下的函数。
*/
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}

    @Override
    public void onActivityStarted(Activity activity) {
        Log.d(TAG, "onActivityStarted.");
    }

    @Override
    public void onActivityResumed(Activity activity) {
        HashMap<String, String> segment = new HashMap<>();
        segment.put(KEY, "true");
        AnalyticsUtil.onEvent(activity.getLocalClassName(), segment);
        Log.d(TAG, "onActivityResumed.");
    }

    @Override
    public void onActivityPaused(Activity activity) {
        Log.d(TAG, "onActivityPaused.");
    }

    @Override
    public void onActivityStopped(Activity activity) {
        Log.d(TAG, "onActivityStopped.");
    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
    }

    @Override
    public void onActivityDestroyed(Activity activity) {
        Log.d(TAG, "onActivityDestroyed.");
    }
};
这里我是对页面进入以及页面从上一级返回到当前页面进行埋点,所以在onActivityResumed 方法中进行埋点。

猜你喜欢

转载自blog.csdn.net/weixin_42042620/article/details/84784324