2015-05-10 3 views
81

Ich versuche, Google Analytics-Service für Android-App mit der folgenden Dokumentation in sdk vorgesehen umzusetzen:AnalyticsService nicht in dem App-Manifest registriert - Fehler

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

Ich kann keine Informationen in der Analytik sehen Verwaltungssite.

Während die App läuft, ich sehe folgende Debug-Meldung

"AnalyticsService nicht in dem App-Manifest registriert. Hits möglicherweise nicht zuverlässig geliefert werden. Siehe https://developers.google.com/analytics/devguides/collection/android/v4/ Anweisungen."

Können Sie mir bitte vorschlagen, wie Sie diesen Service registrieren?

+0

Überprüfen Sie, ob Sie zu Analytik in Anwendungsklasse oder der primären Lande Aktivität initialisiert haben. Ich empfehle, den globalen Tracker (XML) -Code zu entfernen. –

+0

Wählen Sie eine Antwort. –

Antwort

173

Ich bin mir nicht sicher, ob die Anwendung dieser Warnung das Problem löst, das Sie haben (d. H. Keine Informationen auf der Analytics-Verwaltungsseite zu sehen).

Wie auch immer, hier ist das, was Sie zu AndroidManifest.xml innerhalb der Anwendung Tag hinzufügen sollten, wenn Sie diese Warnung loswerden wollen:

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

Sie müssen nicht alle diese hinzufügen, fügen Sie einfach was du brauchst. In Ihrem Fall müssen Sie nur den Dienst AnalyticsService hinzufügen.

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

+9

Ich löste dies durch diese Methode. Allerdings ist eine Sache zu beachten für Anfänger ist, dass diese Codes möglicherweise innerhalb "Application" -Tag hinzugefügt werden =) – yi2ng2

+55

Die eigentliche Frage ist, warum sind diese nicht hier: https://developers.google.com/analytics/devguides/Sammlung/Android/v4 /? –

+5

@EnesBattal vielleicht, weil diese nur auf Geräten benötigt werden, die keine Google-Play-Dienste haben. Aber ich denke auch, dass es in diesen Dokumenten erwähnt werden sollte. – aandis

26

dieses Add auf manifest

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

Es löste das Problem. Ty. –

+0

Das war ausreichend um das Problem zu lösen! –

+0

Welches Ergebnis in der Konsole sollte angezeigt werden, um sicherzustellen, dass es funktioniert? – deadfish

0

Ich hatte ganz ähnlichen Problem - Nachricht über AnalyticsService wie Ihr Gerät sieht Google-Dienste nicht, aber es war nicht wahr für mich. Allerdings habe ich festgestellt, dass ich nicht sicher sein konnte, dass dieses Protokoll von meiner App aufgerufen wurde - Log sah so aus: 10173-10192/? V/GAV4, so Paketname wurde ausgeblendet.

Protokolle von Google Analytics zu sehen, sollten Sie die Protokollebene auf die ausführliche ändern:

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

Bist du es, zu analysieren, wird dazu beitragen, was eine Ursache für Ihre Probleme.

+4

GoogleAnalytics.getInstance (this) .getLogger(). SetLogLevel (Logger.LogLevel.VERBOSE); ist veraltet. Verwenden Sie stattdessen "adb-Shell setprop log.tag.GAv4 DEBUG; adb logcat -s GAv4" – aselims

+0

Sie verwenden veraltete Methoden. –

+4

@IgorGanapolsky war es nicht im Juni '15 veraltet –