38

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

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

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

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

似乎它无法连接,然后它“回退”到本地商店。难道我做错了什么?还是我应该忽略该警告并等待结果显示在网站上?

我一步一步地按照谷歌的指南。

谢谢!

4

4 回答 4

26

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

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

更新:我注意到的一件有趣的事情也可能有所帮助,谷歌分析网络界面默认不显示当天的数据。为了查看从当天收集的数据,您需要单击右上角的日期范围选择器,然后从日历中选择当天(或从组合框中选择今天)。

于 2012-11-05T05:22:40.027 回答
5

关于它的另一件事 - 如果您不会在实时报告中看到您的曲目,请不要感到惊讶 - ga_dispatchPeriod 默认设置为 30 分钟

于 2013-02-22T16:53:58.200 回答
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 的 Google 示例(https://developers.google.com/analytics/devguides/collection/android/v2/advanced)。它从 onStart() 代码开始:

EasyTracker.getInstance().activityStart(this); 

为了启用调试和添加事件跟踪,我遵循了高级示例。没有真正考虑我添加到 onCreate (就像示例一样):

googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext())

我使用 googleAnalytics 来启用调试和事件。由于它不会抛出异常并且它实际上会在 Google Analytics 中产生结果,所以我只是有一段时间没有注意到这个错误。当然,gav2 启动 logcat 消息表明有问题。但是,如果您不熟悉 gav2 这也可能是“正常”行为。

由于更多的人可能会遵循相同的示例和学习曲线,我想我可能会花点时间把它写下来,希望它能节省你一些时间。如果您在 logcat 中看不到“putHit called”之类的消息,则可能存在类似问题。祝你好运。

于 2013-03-11T23:29:41.027 回答
0

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

GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
googleAnalytics.setAppOptOut(false); 
于 2013-08-03T06:12:22.627 回答