2012-11-04 13 views
38

Gerade begann ich Google Analytics V2 in meiner Android-Anwendung zu implementieren, obwohl ich Probleme habe.Android Google Analytics - Verbindung zum Service fehlgeschlagen

Ich glaube, ich habe ein Konto mit einer Eigenschaft und Profilen richtig eingerichtet. Ich habe meinen Schlüssel in der analytics.xml Datei und in jeder Aktivität geliefert ich die Methode

EasyTracker.getInstance().activityStart(this); im onStart verwenden

und

EasyTracker.getInstance().activityStop(this); im OnStop Verfahren jeder Aktivität.

Ich sehe jedoch keine Ergebnisse auf der Google Analytics-Website. Darüber hinaus habe ich die Debug-Optionen aktiviert und ich sehe im Protokoll verschiedene Nachrichten von Gav2 (Google Analytics), die auf ein Problem hinweisen.

Zum Beispiel

11-04 21:56:48.000: W/GAV2(6376): Thread[main,5,main]: **Connection to service failed 1** 
11-04 21:56:48.040: W/GAV2(6376): Thread[main,5,main]: **Need to call initialize() and be in fallback mode to start dispatch.** 
11-04 21:56:48.050: I/GAV2(6376): Thread[main,5,main]: ExceptionReporter created, original handler is com.keypod.utils.AppCrashExceptionHandler 
11-04 21:56:50.055: I/GAV2(6376): Thread[GAThread,5,main]: No campaign data found. 
11-04 21:56:50.060: I/GAV2(6376): Thread[GAThread,5,main]: putHit called 
11-04 21:56:50.410: I/GAV2(6376): Thread[GAThread,5,main]: putHit called 
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: connecting to Analytics service 
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: connect: bindService returned false for Intent { act=com.google.android.gms.analytics.service.START (has extras) } 
**11-04 21:56:53.035: W/GAV2(6376): Thread[Service Reconnect,5,main]: Connection to service failed 1 
11-04 21:56:53.035: I/GAV2(6376): Thread[Service Reconnect,5,main]: falling back to local store** 
11-04 21:56:53.040: I/GAV2(6376): Thread[GAThread,5,main]: Sending hit to store 
11-04 21:56:53.100: I/GAV2(6376): Thread[GAThread,5,main]: Sending hit to store 
11-04 21:56:53.150: V/GAV2(6376): Thread[GAThread,5,main]: dispatch running... 

Es scheint, wie es keine Verbindung herstellen kann und dann „fallsback“ zu lokalen Speichern. Mache ich etwas falsch? Oder sollte ich diese Warnung einfach ignorieren und warten, bis die Ergebnisse auf der Website angezeigt werden?

Ich folgte Schritt für Schritt den Anweisungen von Google.

Danke!

+0

gleiche Problem hier! Hilfe :) – OWADVL

+0

Diese dwp Zeilen fehlen in meinen Protokollen: 11-04 21: 56: 50.060: I/GAV2 (6376): Thread [GAThread, 5, main]: putHit 11-04 21: 56: 50.410: I/GAV2 (6376): Thread [GAThread, 5, main]: putHit genannt – Kostadin

Antwort

26

Ich kann jetzt Ergebnisse in meiner Analytics-Seite sehen, also musste ich anscheinend nur warten.

Google sollte etwas an dieser Warnung tun, es kann irreführend sein.

Update: Eine interessante Sache, die ich bemerkt habe, die auch helfen kann, Google Analytics-Web-Oberfläche zeigt keine Daten aus dem aktuellen Tag auf Standard. Um die vom aktuellen Tag gesammelten Daten anzuzeigen, klicken Sie oben rechts auf die Auswahl für den Datumsbereich und wählen Sie den aktuellen Tag aus dem Kalender aus (oder Today aus der Combobox).

+0

Ja, ich bekomme diese Warnung auf einigen Geräten. Es ist wirklich irreführend. –

+0

Ich bekomme auch noch eine Warnung: "Keine Google Analytics: Bibliothek nicht kompatibel." Analytik wird jedoch aufgezeichnet. – grebulon

+0

@grebulon Schau auf den TAG dieser Log-Nachricht, er gehört zu Admob, nicht zu GA. Das Gleiche ist mir passiert, aber Anzeigen von AdMob werden korrekt angezeigt, wenn sie zusammen mit GA verwendet werden. – jelies

2

nur eine Ergänzung, die Ihnen Stunden zu debuggen sparen könnte. Ich habe keine lokalen Debug-Nachrichten von gav2 in logcat gesehen. Ich würde nur vier gav2 Startup-Meldungen wie "muss initialisieren .." und "Service nicht verfügbar" sehen. Obwohl ich in Google Analytics Echtzeitberichte gesehen habe.

Was passiert ist: i mit der folgenden Zeile begann in onStart()

EasyTracker.getInstance().activityStart(this); 

Und als drehte das Debuggen auf von onCreate();

Dies ist offensichtlich falsch, da onCreate() vor onStart() ausgeführt wird. Jetzt habe ich beide nacheinander von onStart() eingestellt.

EasyTracker.getInstance().activityStart(this); 
GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true); 

Was lief schief?

Ich folgte dem Google-Beispiel für GAV2 Beta 4 (https://developers.google.com/analytics/devguides/collection/android/v2/advanced). Es beginnt die zu onStart() Code:

EasyTracker.getInstance().activityStart(this); 

als das Debuggen und das Hinzufügen von Ereignis-Tracking zu ermöglichen, i die erweiterten Beispiele gefolgt. Ohne wirklich darüber nachzudenken ich hinzugefügt (genau wie das Beispiel) onCreate:

googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext()) 

I Google verwendet Debuggen und Veranstaltungen zu ermöglichen. Da es keine Ausnahmen auslöst und Ergebnisse in Google Analytics erzielt, habe ich den Fehler erst seit einiger Zeit bemerkt. Natürlich zeigt die Logcat-Nachricht gav2 an, dass etwas nicht stimmt. Aber wenn Sie mit gav2 nicht vertraut sind, könnte dies auch "normales" Verhalten sein.

Da mehr Leute dem gleichen Beispiel und der Lernkurve folgen könnten, dachte ich, ich könnte einen Moment brauchen und es aufschreiben, hoffe es hat dir etwas Zeit gespart. Wenn Sie in logcat keine Meldungen wie "putHit called" sehen, liegt möglicherweise ein ähnliches Problem vor. Viel Glück.

0

In Ihrem mainActivity onCreate() fügen Sie einfach die folgenden Zeilen:

GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext()); 
googleAnalytics.setAppOptOut(false); 
Verwandte Themen