问题描述
我已经为这里提到的 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
I've set all things for google analytics api v4 as it mentioned here:
https://developers.google.com/analytics/devguides/collection/android/v4/
and here:http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html
我可以查看实时数据,但我无法查看特定时间段(例如所有时间")中的屏幕、活跃用户、新用户和热门设备型号.
I can see real time data but i could NOT see Screens, Active Users,New Users and Top Device Models in specific time period such as "All Time".
Analytic 不发送屏幕视图.
Analytic does not send screen views.
这是我的 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);
}
推荐答案
根据@stkent 回答的问题是 AppViewBuilder()
已被弃用,因此您可以通过删除这一行来解决您的问题您的情况下需要的代码并帮助在关注this后遇到同样问题的人删除这行代码
The problem according to @stkent answer is that the AppViewBuilder()
is deprecated so you can fix your problem by deleteing this line of code that's what you need in your caseAnd to help people that have same problem after following thisdelete this line of code
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);
}
在您要跟踪的每个活动中
in each activity you want to track
来自谷歌文档的关于这两种方法的附加信息
additional info from google doc about those 2 method
reportActivityStop
reportActivityStart
将其与自动跟踪一起使用是一个空运,因此您可以禁用它
using this with auto tracking is a noop so you can disable it
原始答案针对此 发布
这篇关于适用于 Android 的 Google Analytics API v4 不发送屏幕视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!