可以自动跟踪Google Analytics的所有活动,
在跟踪器配置中启用ga_autoActivityTracking
attrubute时。
所以我问自己这个动作何时被解雇,因为我想在特殊时间将其排除。
当一个Activity的某些onCreate
,onResume
或其他方法被调用时,是否会被触发?
我在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>
答案 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,则尽早创建和配置跟踪器尤为重要,因为只会报告创建跟踪器后发生的异常。您应该注意,启用自动活动跟踪仅自动跟踪活动,而不是自动跟踪碎片。如果需要跟踪,您将需要从片段中手动发送屏幕视图命中。