我为google analytics api v4设置了所有内容,如下所述:
https://developers.google.com/analytics/devguides/collection/android/v4/
和此处
http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html
我可以看到实时数据,但在特定时间段内无法看到屏幕,活跃用户,新用户和热门设备模型,例如"所有时间"。
Analytic不发送屏幕视图。
这是我的 global_tracker.xml
<string name="ga_trackingId">UA-XXXXXXXX-Y</string>
<integer name="ga_sessionTimeout">300</integer>
<bool name="ga_autoActivityTracking">true</bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
<screenName name="com.org.ScreenActivity1">Screen 1</screenName>
<screenName name="com.org.ScreenActivity2">Screen 2</screenName>
这是我的 AndroidManifest.xml
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<meta-data
android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/global_tracker"/>
这是我的 Analytics.java
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER // Tracker used by all the apps from a company. eg: roll-up tracking.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public Analytics() {
super();
}
public synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
if (trackerId == TrackerName.GLOBAL_TRACKER) {
mTrackers.put(trackerId, analytics.newTracker(R.xml.global_tracker));
}
}
return mTrackers.get(trackerId);
}
这是我的活动类:
protected void onCreate(Bundle bundle){
//......................
Tracker tracker = ((Analytics) getApplication()).getTracker(Analytics.TrackerName.GLOBAL_TRACKER);
tracker.setScreenName("Main Activity");
tracker.send(new HitBuilders.AppViewBuilder().build());
//......................
}
@Override
protected void onStart() {
super.onStart();
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}
@Override
protected void onStop() {
super.onStop();
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}
答案 0 :(得分:10)
根据@stkent答案的问题是AppViewBuilder()
已被弃用,因此您可以通过删除您需要的代码行来解决问题
并且在关注this之后帮助那些有同样问题的人
删除这行代码
tracker.send(new HitBuilders.AppViewBuilder().build());
并添加此
@Override
protected void onStart() {
super.onStart();
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}
@Override
protected void onStop() {
super.onStop();
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}
在您要跟踪的每项活动中
google doc关于这两种方法的其他信息
reportActivityStop
reportActivityStart
使用此功能进行自动跟踪是一个noop,因此您可以将其禁用
最初的答案是@skent post
答案 1 :(得分:2)
我失去了一天。从文档到互联网代码尝试各种各样,没有任何事情可以显示我的整体屏幕视图。最后,在今天午夜之后,他们出现了。
我想,如果Google实时数据(以onCreate或类似方式发送Tracker)对您有用,那么只需等待一天,该数据将在Google服务器上的某个位置进行处理,并在分析仪表板上完成一段时间后就绪。
PS。不听托尼,他的问题与此不一样。但是stkent对这个问题有一些很好的见解google analytics doesn't show the active user in Real time overview
答案 2 :(得分:2)
添加
<application
android:name="mypackagename.MyApplication"
... >
清单文件中的可以解决问题。
答案 3 :(得分:1)
@tony是对的,HitBuilders.AppViewBuilder
类已被弃用,但如果您不想,则无需实施onStart/Stop
方法。
如上所述on GA's V4 tutorial(第4节),您可以用HitBuilders.ScreenViewBuilder()
替换AppViewBuilder类,并且您将在所有平台上获得所需的结果。
在此处查看有关类参考API的更多详细信息: https://developer.android.com/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html