安卓谷歌分析 - 连接服务失败

38

我刚开始在我的 Android 应用程序中实现 Google Analytics V2,但是我遇到了麻烦。

我相信我已经正确地设置了帐户和属性和配置文件。 我在 analytics.xml 文件中提供了我的密钥,并且在每个活动中使用

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

以及在每个活动的 onStop 方法中使用

EasyTracker.getInstance().activityStop(this);

然而,在 Google Analytics 网站上似乎没有看到任何结果。此外,我打开了调试选项,并且可以在日志中看到来自 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...

看起来它无法连接,然后“回退”到本地存储。我做错了什么吗?还是应该忽略那个警告,等待结果在网站上显示?

我按照谷歌的指南一步一步操作。

谢谢!


我的日志中缺少这些DWP行:11-04 21:56:50.060:I/GAV2(6376):Thread [GAThread,5,main]:putHit 被调用 11-04 21:56:50.410:I/GAV2(6376):Thread [GAThread,5,main]:putHit 被调用 - Kostadin
4个回答

26

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

谷歌应该对那个警告做些什么,它可能会产生误导。

更新:我注意到了一个有趣的事情,这也可能有所帮助,Google Analytics网络界面默认情况下不显示当天收集的数据。为了查看当天收集的数据,您需要点击右上方的日期范围选择器,并从日历中选择当天(或从组合框中选择“今天”)。


是的,在一些设备上我也收到了那个警告。它确实很误导人。 - IgorGanapolsky
我还收到另一个警告:“没有Google Analytics:库不兼容。”但是,分析数据已经被记录下来了。 - grebulon
@grebulon 看一下这条日志消息的标签,它属于Admob,而不是GA。我也遇到了同样的问题,但是当与GA一起使用时,AdMob的广告会正确显示。 - jelies
请将以下内容添加到您的analytics.xml文件中:<integer name="ga_dispatchPeriod">1</integer> - cyrilchampier

5

2
只是一个额外的补充,可能会为您节省数小时的调试时间。我在logcat中没有看到gav2的本地调试消息。我只会看到四个gav2启动消息,如“需要调用initialize..”和“服务不可用”。尽管我在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)进行操作。它从onStart()代码开始:
EasyTracker.getInstance().activityStart(this); 

为了启用调试和添加事件跟踪,我按照高级示例进行操作。没有认真考虑,我像示例一样将其添加到了 onCreate 方法中:
googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext())

我使用 Google Analytics 来进行调试和事件跟踪。由于它不会抛出异常并且实际上可以在 Google Analytics 中产生结果,因此我有一段时间没有意识到错误。当然,gav2 启动时的 logcat 消息表明存在问题。但如果您对 gav2 不熟悉,这也可能是“正常”的行为。
由于更多的人可能会遵循相同的示例和学习曲线,我想花点时间将其写下来,希望它能节省您一些时间。如果您在 logcat 中看不到像“putHit called”这样的消息,那么您可能会遇到类似的问题。祝你好运。

0
在你的mainActivity onCreate()方法中,只需添加以下几行代码:
GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
googleAnalytics.setAppOptOut(false); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接