ga_autoActivityTracking何时被触发?

may*_*ysi 1 android google-analytics google-analytics-api google-analytics-firebase

当您ga_autoActivityTracking在跟踪器配置中启用attrubute 时,可以自动跟踪Google Analytics的所有活动.

所以我问自己这个动作何时被解雇,因为我想在特殊时间排除它.

它是发射时一些的onCreate,onResume或者活动的其他方法获取调用?

我开始跟踪MyApplications onCreate()方法:

@Override
    public void onCreate(){
        if (GooglePlayServicesUtil.isGooglePlayServicesAvailable(this)== ConnectionResult.SUCCESS) {
            // Get tracker.
            Tracker t = getTracker(
                    MyApplication.TrackerName.APP_TRACKER);

            // Send screen view.
            t.send(new HitBuilders.AppViewBuilder().build());
        }
    }
Run Code Online (Sandbox Code Playgroud)

并使用以下文件初始化跟踪器:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Enable automatic Activity measurement -->
    <bool name="ga_autoActivityTracking">true</bool>

    <!-- The screen names that will appear in reports -->
    <screenName name="de.example.app.MainActivity">
        MainActivity
    </screenName>
    ...
    <string name="ga_trackingId">UA-59000000-1</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

dja*_*abi 5

ga_autoActivityTracking在跟踪器配置中设置为true xml相当于在初始化跟踪器时调用tracker.enableAutoActivityTracking(true).启用自动活动跟踪后,将在活动开始时(当调用Application.ActivityLifecycleCallbacks.onActivityStarted时)发送屏幕视图事件.默认情况下,屏幕视图名称将从活动类名称派生.您可以通过将Activity类名称映射到首选屏幕名称,在跟踪器xml配置中定义自定义屏幕视图名称.启用自动活动跟踪所有活动后,您的应用将在Activity onStart回调中发送屏幕视图.

在您的代码中,您正在检查Google Play服务的可用性.通常你不应该那样做.Google Analytics(分析)很乐意在设备上没有Google Play服务(例如在亚马逊Fire手机设备上).虽然Google Analytics SDK是Google Play图书馆的一部分,但设备上的Google Play服务是可选的.

在您的代码中,您还将发送有关应用程序创建的屏幕视图(应用程序视图与屏幕视图相同).可以出于非交互性原因(如接收广播请求)创建Android应用程序.从Applicaion.onCreate发送屏幕视图时,任何应用程序创建都将显示为用户已启动您的应用程序.这包括在您的活动用户编号中启动非交互式应用程序,并会夸大报告的值.相反,您应该在Application onCreate中创建和配置您的跟踪,但仅在您的活动变得可见时发送屏幕视图(onStart回调是一个好地方或启用自动活动跟踪).如果启用异常报告,则尽早创建和配置跟踪器尤为重要,因为只会报告创建跟踪器后发生的异常.您应该注意,启用自动活动跟踪仅自动跟踪活动,而不是自动跟踪碎片.如果需要跟踪,则需要从片段中手动发送屏幕视图命中.