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


85

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

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

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

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

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

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


检查您是否已在应用程序类或主要着陆活动中初始化了分析。我建议删除全局跟踪器(XML)代码。
Manan Sharma 2015年

Answers:


178

我不确定采取此警告措施是否可以解决您遇到的问题(即在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


9
我通过这种方法解决了这个问题。但是,初学者需要注意的一件事是,可能需要在“ application”标签=)中添加这些代码
yi2ng2

57
真正的问题是,为什么这里不显示这些:developers.google.com/analytics/devguides/collection/android/v4
好友2015年

6
@EnesBattal可能是因为只有在没有Google Play服务的设备上才需要这些。但是我也觉得应该在那些文档中提到它。
aandis 2015年

2
我将它们添加到清单中,现在我不再在LogCat中得到警告,但是当我启用GoogleAnalytics调试时,仍然可以在终端中获得它们吗?我用来在终端中启用调试的命令:“ adb shell setprop log.tag.GAv4 DEBUG”和“ adb logcat -s GAv4”
Mehlyfication,2016年

@zack,如果应用程序要转到Play商店,则意味着您不知道该应用程序将安装到哪个设备,因此,这意味着必须将这些服务和接收器添加到清单中。当然,就我而言,我已经安装了一些已安装Play服务的设备,这是摆脱LogCat中警告的唯一方法
Phileo99,2016年

26

在清单上添加

 <service android:name="com.google.android.gms.analytics.AnalyticsService"
 android:enabled="true"
 android:exported="false"/>

应该在控制台中显示什么结果以确保其正常工作?
Deadfish '16


0

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

要查看来自Google Analytics(分析)的日志,您应该将日志级别更改为详细:

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

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


4
GoogleAnalytics.getInstance(this).getLogger()。setLogLevel(Logger.LogLevel.VERBOSE); 不推荐使用。请改用“ adb shell setprop log.tag.GAv4 DEBUG; adb logcat -s GAv4”
aselims

您正在使用不推荐使用的方法。
IgorGanapolsky '16

5
@IgorGanapolsky,它并没有在15
6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.