我在我的Android应用中使用了谷歌分析V2的beta 4。为方便起见,我将它包装在一个单独的类(单例)中,如下所示:
private AnalyticsTracker(Context context) {
GAServiceManager.getInstance().setDispatchPeriod(5);
GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(context);
googleAnalytics.setDebug(true);
tracker = googleAnalytics.getTracker(context.getString(R.string.ga_trackingId));
}
为了进一步使用,我使用EasyTracker进行活动跟踪,使用跟踪器成员变量进行事件跟踪。
public void onActivityStart(Activity activity) {
EasyTracker.getInstance().activityStart(activity);
}
public void onActivityStop(Activity activity) {
EasyTracker.getInstance().activityStop(activity);
}
public void trackEvent(AnalyticsEvent event) {
tracker.sendEvent(event.category, event.action, event.label, 0L);
GAServiceManager.getInstance().dispatch();
}
问题是构造函数中的setDebug(true)似乎被忽略,因为LogCat上没有输出,我的交互出现在报告中。我没有在analytics.xml中设置调试标志。
如果我这样做并在xml文件中将标志设置为true,它将按预期工作,分析会将事件记录到LogCat。
知道为什么它会忽略代码中的调用吗?
由于
答案 0 :(得分:1)
在values文件夹中的analytics.xml中使用<bool name="ga_debug">false</bool>
以启用禁用调试。
analytics.xml:
<!-- Replace placeholder ID with your tracking ID -->
<string name="ga_trackingId">UA-123456-2</string>
<!-- Enable automatic activity tracking -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- Enable automatic exception tracking -->
<bool name="ga_reportUncaughtExceptions">true</bool>
<!-- Enable debug -->
<bool name="ga_debug">false</bool>
<!-- The screen names that will appear in your reporting -->
<string name="com.example.myapp.MainActivity">any name</string>
<!--The inverval of time after all the collected data should be sent to the server, in seconds.-->
<integer name="ga_dispatchPeriod">30</integer>
参考:link