1

我在我的 android 应用程序中使用 google analytics 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 进行活动跟踪,使用 tracker 成员变量进行事件跟踪。

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。

知道为什么它会忽略来自代码的调用吗?

谢谢

4

1 回答 1

1

<bool name="ga_debug">false</bool> 在 values 文件夹中的 analytics.xml 中使用 以启用禁用调试。

分析.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>

参考:链接

于 2013-02-11T11:05:38.027 回答