Android Google Analytics - 与服务的连接失败

时间:2012-11-04 20:17:11

标签: android google-analytics

刚开始在我的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的指南。

谢谢!

4 个答案:

答案 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);