Android Google Analytics(分析) – 连接到服务失败

刚刚开始在我的Android应用程序中实施Google Analytics V2,虽然我有麻烦。

我相信我已经正确地build立了一个属性和configuration文件的帐户。 我在analytics.xml文件中以及我使用的每个活动中提供了我的密钥

EasyTracker.getInstance().activityStart(this); 在onStart方法中

EasyTracker.getInstance().activityStop(this); 在每个活动的onStop方法中。

不过,我在Google Analytics(分析)网站上似乎没有看到任何结果。 此外,我打开了debugging选项,我可以看到来自Gav2(谷歌分析)的各种消息,意味着一个问题。

例如

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

它似乎不能连接,然后“回落”到本地商店。 难道我做错了什么? 还是应该忽略这个警告,等待结果出现在网站上?

我按部就class地跟着Google的指南。

谢谢!

我现在可以在我的分析页面看到结果,显然我只是需要等待。

谷歌应该做一些关于这个警告,这可能是误导。

更新:我注意到一件有趣的事情可能也有帮助,Google Analytics(分析)网页界面在默认情况下不显示当天的数据。 为了查看当天收集到的数据,您需要点击右上angular的date范围select器,然后从日历(或从combobox中select今天)中select当前date。

还有一件事 – 如果你不能在实时报告中看到你的踪迹,不要感到惊讶 – ga_dispatchPeriod默认设置为30分钟

只是一个额外的,可以节省你的时间去debugging。 我没有在logcat中看到gav2的本地debugging信息。 我只会看到像“需要调用初始化”和“服务不可用”四个gav2启动消息。 尽pipe我确实在Google Analytics实时报告中看到了意见。

发生了什么事情:我在onStart()中开始了以下行:

 EasyTracker.getInstance().activityStart(this); 

和从onCreate()转到debugging。

 GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true); 

这显然是错误的onCreate()在onStart()之前执行。 现在我已经从onStart()顺序设置。

 EasyTracker.getInstance().activityStart(this); GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true); 

什么地方出了错?

我遵循GAV2 Beta 4的Google示例( https://developers.google.com/analytics/devguides/collection/android/v2/advanced )。 它开始onStart()代码:

 EasyTracker.getInstance().activityStart(this); 

比启用debugging和添加事件跟踪,我遵循高级示例。 没有真正想到我添加到onCreate(就像例子):

 googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext()) 

我使用googleAnalytics来启用debugging和事件。 因为它不会抛出exception,而且它实际上会在Google Analytics中产生结果,所以我一段时间都没有注意到这个错误。 当然,gav2启动logcat消息表明有什么错误。 但是,如果你不熟悉gav2,这可能是“正常”的行为。

随着越来越多的人可能会遵循同样的例子和学习曲线,我想我可能会花一点时间写下来,希望能为你节省一些时间。 如果在logcat中看不到类似“putHit called”的消息,则可能有类似的问题。 祝你好运。

在您的mainActivity onCreate()只需添加以下几行:

 GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext()); googleAnalytics.setAppOptOut(false);