android google analytics v3:“服务不可用”

时间:2013-10-29 01:18:10

标签: android google-analytics

按照这里的简单指南, https://developers.google.com/analytics/devguides/collection/android/v3/

当我运行我的应用程序时,我明白了,

10-28 18:01:17.973  27022-27069/com.foo.bar W/GAV3﹕ Thread[GAThread,5,main]: Service unavailable (code=1), will retry.
10-28 18:01:17.973  27022-27069/com.foo.bar I/GAV3﹕ Thread[GAThread,5,main]: No campaign data found.
10-28 18:01:17.973      525-865/system_process W/ActivityManager﹕ Unable to start service Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) } U=0: not found
从调试开始,它试图启动一个不存在的服务。似乎我应该在我的清单中定义它,但指南没有说明这一点。

我已将analytics.xml放在我的res / values文件夹中,

<?xml version="1.0" encoding="utf-8" ?>
<resources
    xmlns:tools="https://schemas.android.com/tools"
    tools:ignore="TypographyDashes">

  <string name="ga_trackingId">UA-XXX-1</string>
  <bool name="ga_autoActivityTracking">true</bool>
  <bool name="ga_reportUncaughtExceptions">true</bool>
  <integer name="ga_dispatchPeriod">1</integer>
  <bool name="ga_debug">true</bool>
</resources>
由于指南很简单,我完全被这里难住了。如果它有任何区别(并且它不应该),我正在用android studio / gradle构建,并添加这样的依赖,

compile files('libs/libGoogleAnalyticsServices.jar')
编辑:有一个想法...这个设备不运行谷歌服务。 google analytics lib是否依赖于正在安装的Google服务APK?

4 个答案:

答案 0 :(得分:14)

您现在可以忽略该警告。

来自Google移动应用分析论坛:

The SDK is simply attempting to connect to a global dispatch service, which is unavailable on your device.  The hits are still being generated and sent to GA normally.

GA开发者网站将很快提供更多相关信息。

链接到论坛:https://groups.google.com/forum/#!forum/ga-mobile-app-analytics

答案 1 :(得分:1)

如果您使用的是分析版V3,则应删除

    <bool name="ga_debug">true</bool>

因为ga_debug适用于v2

参阅:Google Analytics SDK for Android - EasyTracker Parameters

答案 2 :(得分:1)

此处存在相同问题,您可能忘记初始化跟踪器。

GA3 site的“后续步骤”下,它指出“在测量任何数据之前,您必须通过提供上下文和Google Analytics媒体资源属性ID,通过GoogleAnalytics单例初始化至少一个跟踪器:”

只需将此代码插入主要活动'onCreate方法:

// Initialize a tracker using a Google Analytics property ID.
GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y")

你认为他们会在他们的主页上提到这一点,但我想他们只是希望你对高级设置感到好奇。

答案 3 :(得分:0)

我认为你可以使用

GAServiceManager.getInstance().setLocalDispatchPeriod(10);

在这一行之后它似乎工作正常并发送事件