AnalyticsService未在应用清单中注册 - 错误

时间:2015-05-10 16:54:10

标签: android google-analytics android-manifest

我正在尝试使用sdk中提供的以下文档将Android分析服务实施到Android应用程序:

https://developers.google.com/analytics/devguides/collection/android/v4/

我无法在分析管理网站中看到任何信息。

在应用程序运行时,我看到以下调试消息

“AnalyticsService未在应用清单中注册。可能无法可靠地投放匹配。有关说明,请参阅https://developers.google.com/analytics/devguides/collection/android/v4/。”

您能否建议我如何注册此服务?

4 个答案:

答案 0 :(得分:178)

我不确定采取此警告是否能解决您遇到的问题(即未在Google Analytics管理网站上看到任何信息)。

无论如何,如果你想摆脱这个警告,你应该在应用程序标签内添加AndroidManifest.xml:

 <!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
      dispatching on non-Google Play devices -->
 <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver"
     android:enabled="true">
     <intent-filter>
         <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
     </intent-filter>
 </receiver>
 <service android:name="com.google.android.gms.analytics.AnalyticsService"
     android:enabled="true"
     android:exported="false"/>

 <!-- Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable
      installation campaign reporting -->
 <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
     android:exported="true">
     <intent-filter>
         <action android:name="com.android.vending.INSTALL_REFERRER" />
     </intent-filter>
 </receiver>
 <service android:name="com.google.android.gms.analytics.CampaignTrackingService" />

您不必添加所有这些内容,只需添加所需内容即可。在您的情况下,您显然只需要添加AnalyticsService服务。

来源:https://developer.android.com/reference/com/google/android/gms/analytics/GoogleAnalytics.html

答案 1 :(得分:26)

在清单

上添加此内容
 <service android:name="com.google.android.gms.analytics.AnalyticsService"
 android:enabled="true"
 android:exported="false"/>

答案 2 :(得分:8)

Karim explained它很好,但是在你在清单中给予唤醒锁权限之前它不会工作。

<uses-permission android:name="android.permission.WAKE_LOCK" />

Google v4 dispatch reference.

答案 3 :(得分:0)

我遇到了类似的问题 - 有关 AnalyticsService 的消息看起来您的设备没有Google服务,但对我来说并非如此。但是,我意识到我无法确定是否已从我的应用程序调用此日志 - 日志看起来像:10173-10192/? V/GAV4,因此包名称已被隐藏。

要查看Google Analytics中的日志,您应该将日志级别更改为详细信息:

GoogleAnalytics.getInstance(this).getLogger().setLogLevel(Logger.LogLevel.VERBOSE);

它将帮助您分析,导致您的问题的原因。