ga_autoActivityTracking何时被触发?

时间:2015-02-21 13:10:00

标签: android google-analytics google-analytics-api google-analytics-v4

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

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

当一个Activity的某些onCreateonResume或其他方法被调用时,是否会被触发?

我在MyApplication s 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());
        }
    }

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

<?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>

1 个答案:

答案 0 :(得分:5)

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

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

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