GoogleAnalytics enableAutoActivityTracking无效

时间:2015-05-10 09:50:53

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

我遇到了与此问题相同的问题:

enableAutoActivityTracking not automatically tracking activities?

问题是自动跟踪无法使用Google Analytics。

但是,在我的情况下,调用enableAutoActivityReports不起作用。

这是配置XML文件:

<?xml version="1.0" encoding="utf-8"?>

<!--  Google Analytucs property id. -->

<integer name="ga_sessionTimeout">300</integer>

<!-- catch and report uncaught exceptions from the app -->
<bool name="ga_reportUncaughtExceptions">true</bool>

<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>

<!-- The screen names that will appear in reports -->
<screenName name=".LoginActivity">
    Login Activity
</screenName>

</resources>

在应用程序类中:

private Tracker googleAnalyticsTracker;

public synchronized Tracker getGoogleAnalyticsTracker()
{
    if (googleAnalyticsTracker == null)
    {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        analytics.enableAutoActivityReports(this);
        googleAnalyticsTracker = analytics.newTracker(R.xml.global_tracker);
    }
    return googleAnalyticsTracker;
}

在活动的onCreate((MyApplication) getApplication()).getGoogleAnalyticsTracker();

但是,在同一个活动中,如果我发送手动屏幕视图,我会在GA控制台中看到它。我是这样做的:

Tracker t = ((MyApplication) getApplication()).getGoogleAnalyticsTracker();
                t.setScreenName("Login Screen");
                t.send(new HitBuilders.ScreenViewBuilder().build());

1 个答案:

答案 0 :(得分:2)

您需要报告每项活动的开始和停止。

public abstract class TrackableActivity extends AppCompatActivity {
    @Override
    protected void onStart() {
        super.onStart();
        GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }

    @Override
    protected void onStop() {
        GoogleAnalytics.getInstance(this).reportActivityStop(this);
        super.onStop();
    }
}

我找不到指定此内容的文档了。我记得我过去常常这样做。无论如何,从API documentation开始,如果您想要自动跟踪API低于14的活动,则需要这样做:

  

public void reportActivityStart (Activity activity)

     

如果在运行API级别14或更高级别的设备上启用了自动活动报告(请参阅enableAutoActivityReports(Application)),则此方法将为noop。