web-dev-qa-db-fra.com

AnalyticsService non inscrit dans le manifeste de l'application - erreur

J'essaie d'implémenter le service Google Analytics sur Android app en utilisant la documentation suivante fournie dans sdk:

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

Je ne peux voir aucune information sur le site d'administration d'analyse.

Pendant que l'application est en cours d'exécution, le message de débogage suivant s'affiche

"AnalyticsService non enregistré dans le manifeste de l'application. Les hits ne peuvent pas être livrés de manière fiable. Voir https://developers.google.com/analytics/devguides/collection/Android/v4/ pour les instructions. "

Pouvez-vous s'il vous plaît me suggérer comment enregistrer ce service?

84
CreativeManix

Je ne sais pas si cet avertissement répondra au problème que vous rencontrez (par exemple, en ne voyant aucune information sur le site d'administration de Google Analytics).

Quoi qu'il en soit, voici ce que vous devez ajouter à AndroidManifest.xml dans la balise d'application si vous souhaitez vous débarrasser de cet avertissement:

 <!-- 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" />

Vous n'avez pas à ajouter tout cela, il vous suffit d'ajouter ce dont vous avez besoin. Dans votre cas, vous devez apparemment simplement ajouter le service AnalyticsService.

Source: https://developer.Android.com/reference/com/google/Android/gms/analytics/GoogleAnalytics.html

178
Karim

ajoutez ceci au manifeste

 <service Android:name="com.google.Android.gms.analytics.AnalyticsService"
 Android:enabled="true"
 Android:exported="false"/>
26
Steve Lai

Karim expliqua bien, mais cela ne fonctionnera pas tant que vous n'accorderez pas l'autorisation de verrouillage Wake dans le manifeste.

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

référence d'expédition Google v4.

8
Dávid Tímár

J'ai eu un problème assez similaire: le message relatif à AnalyticsService semble indiquer que votre appareil n'a pas de services Google, mais ce n'était pas vrai pour moi. Cependant, je me suis rendu compte que je ne pouvais pas être sûr que ce journal avait été appelé depuis mon application - le journal ressemblait à cela: 10173-10192/? V/GAV4, le nom du paquet était donc caché.

Pour afficher les journaux de Google Analytics, vous devez définir le niveau de journalisation en mode détaillé:

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

Cela vous aidera à analyser quelle est la cause de vos problèmes.

0