我遇到了与此问题相同的问题:
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());
答案 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。