我在使用Google Analytics跟踪我的应用时遇到问题。 在我需要跟踪的所有活动中(现在2个,将来更多)我有相同的GA处理代码:
@Override
public void onStop() {
super.onStop();
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.activityStop(this);
}
@Override
protected void onStart() {
super.onStart();
EasyTracker easyTracker = EasyTracker.getInstance(this);
easyTracker.activityStart(this);
Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
if (uncaughtExceptionHandler instanceof ExceptionReporter) {
ExceptionReporter exceptionReporter = (ExceptionReporter) uncaughtExceptionHandler;
exceptionReporter.setExceptionParser(new AnalyticsExceptionParser());
}
}
@Override
public void onResume() {
Tracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, SCREEN_LABEL);
easyTracker.send(
MapBuilder
.createAppView()
.build());
super.onResume();
}
这是analytics.xml文件:
<resources xmlns:tools="https://schemas.android.com/tools" tools:ignore="TypographyDashes">
<!-- Replace placeholder ID with your tracking ID -->
<string name="ga_trackingId">UA-XXXXXXX-Y</string>
<!-- Enable automatic activity tracking -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- Enable automatic exception tracking -->
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_dispatchPeriod">10</integer>
</resources>
问题在于,在活动的第一个可视化中,屏幕名称的结果是正确的(一个活动Home Screen
,另一个活动Login Screen
。但在第二个可视化中,屏幕名称会更改为活动的Qualified Name
(一个活动为it.prova.HomePage
,另一个活动为it.prova.LoginPanel
。
我哪里错了?
THX
P.S。显然,在我写UA-XXXXXXX-Y的地方,我有正确的字符串,而不是这个例子。
答案 0 :(得分:3)
发现问题:我不得不改变这个
<bool name="ga_autoActivityTracking">true</bool>
进入这个
<bool name="ga_autoActivityTracking">false</bool>
所以现在我可以完全控制代码中的跟踪。