刚开始在我的Android应用程序中实施Google Analytics V2,虽然我遇到了麻烦。
我相信我已经正确设置了属性和配置文件的帐户。 我在analytics.xml文件中提供了我的密钥,在每个活动中我都使用了
onStart方法中的 EasyTracker.getInstance().activityStart(this);
和
EasyTracker.getInstance().activityStop(this);
在每个活动的onStop方法中。
但是,我似乎没有在Google Analytics网站上看到任何结果。此外,我打开了调试选项,我可以在log cat中看到来自Gav2(Google Analytics)的各种消息,这意味着一个问题。
例如
11-04 21:56:48.000: W/GAV2(6376): Thread[main,5,main]: **Connection to service failed 1**
11-04 21:56:48.040: W/GAV2(6376): Thread[main,5,main]: **Need to call initialize() and be in fallback mode to start dispatch.**
11-04 21:56:48.050: I/GAV2(6376): Thread[main,5,main]: ExceptionReporter created, original handler is com.keypod.utils.AppCrashExceptionHandler
11-04 21:56:50.055: I/GAV2(6376): Thread[GAThread,5,main]: No campaign data found.
11-04 21:56:50.060: I/GAV2(6376): Thread[GAThread,5,main]: putHit called
11-04 21:56:50.410: I/GAV2(6376): Thread[GAThread,5,main]: putHit called
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: connecting to Analytics service
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: connect: bindService returned false for Intent { act=com.google.android.gms.analytics.service.START (has extras) }
**11-04 21:56:53.035: W/GAV2(6376): Thread[Service Reconnect,5,main]: Connection to service failed 1
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: falling back to local store**
11-04 21:56:53.040: I/GAV2(6376): Thread[GAThread,5,main]: Sending hit to store
11-04 21:56:53.100: I/GAV2(6376): Thread[GAThread,5,main]: Sending hit to store
11-04 21:56:53.150: V/GAV2(6376): Thread[GAThread,5,main]: dispatch running...
似乎它无法连接,然后它“回落”到本地商店。 难道我做错了什么?或者我应该忽略该警告并等待结果显示在网站上?
我一步一步地关注了Google的指南。
谢谢!
答案 0 :(得分:26)
我现在可以在我的分析页面中看到结果,所以显然我只需要等待。
Google应该对此警告采取措施,这可能会产生误导。
更新: 我注意到一件有趣的事情也可能有所帮助,Google Analytics网络界面默认情况下不显示当天的数据。要查看当天收集的数据,您需要点击右上角的日期范围选择器,然后从日历中选择当天(或从组合框中选择今天)。
答案 1 :(得分:5)
关于它的另一件事 - 如果您在实时报告中看不到自己的曲目,请不要感到惊讶 - ga_dispatchPeriod is set to 30 mins by default
答案 2 :(得分:2)
只需添加一些内容即可节省您的调试时间。我没有在logcat中看到gav2的本地调试消息。我只会看到四个gav2启动消息,如“需要调用初始化..”和“服务不可用”。虽然我确实在Google Analytics实时报告中看到了观看次数。
发生了什么:我开始使用 onStart()
中的以下行EasyTracker.getInstance().activityStart(this);
而不是从 onCreate()开启调试;
GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true);
这显然是错误的,因为onCreate()在onStart()之前执行。 现在我从onStart()开始按顺序设置。
EasyTracker.getInstance().activityStart(this);
GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true);
出了什么问题?
我关注了GAV2 Beta 4(https://developers.google.com/analytics/devguides/collection/android/v2/advanced)的Google示例。它从onStart()代码开始:
EasyTracker.getInstance().activityStart(this);
为了启用调试和添加事件跟踪,我按照高级示例进行操作。没有真正想到我添加到onCreate(就像示例):
googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext())
我使用googleAnalytics启用调试和事件。因为它不会抛出异常并且它实际上会在Google Analytics中产生结果,所以我只是暂时没有注意到这个错误。当然,gav2启动logcat消息表明出现了问题。但如果你不熟悉gav2,这可能也是“正常”行为。
随着越来越多的人可能会遵循相同的例子和学习曲线,我想我可能会花一点时间把它写下来,希望它能为你节省一些时间。如果你没有在logcat中看到像“putHit called”这样的消息,你可能会遇到类似的问题。祝你好运。
答案 3 :(得分:0)
在mainActivity onCreate()中添加以下行:
GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
googleAnalytics.setAppOptOut(false);