import com google android gms analytics googleanalytics
Android Google Analytics: error en la conexión al servicio (4)
Acabo de comenzar a implementar Google Analytics V2 en mi aplicación Android, aunque estoy teniendo problemas.
Creo que he configurado una cuenta con una propiedad y perfiles correctamente. He proporcionado mi clave en el archivo analytics.xml y en cada actividad uso el
EasyTracker.getInstance().activityStart(this);
en el método onStart
y
EasyTracker.getInstance().activityStop(this);
en el método onStop de cada actividad.
Sin embargo, no veo ningún resultado en el sitio web de Google Analytics. Además, activé las opciones de depuración y puedo ver en el log cat varios mensajes de Gav2 (Google Analytics), lo que implica un problema.
Por ejemplo
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...
Parece que no se puede conectar y luego "retrocede" a la tienda local. ¿Estoy haciendo algo mal? ¿O debería simplemente ignorar esa advertencia y esperar a que aparezcan los resultados en el sitio?
Seguí la guía de Google paso a paso.
¡Gracias!
Ahora puedo ver los resultados en mi página de análisis, así que aparentemente solo tuve que esperar.
Google debería hacer algo con respecto a esa advertencia, puede ser engañoso.
Actualización: Algo interesante que he notado y que también puede ayudar, la interfaz web de Google Analytics no muestra datos del día actual en el valor predeterminado. Para ver los datos recopilados del día actual, debe hacer clic en el selector de rango de fechas en el lado superior derecho y seleccionar el día actual del Calendario (o Hoy en el cuadro combinado).
En su mainActivity onCreate () simplemente agregue las siguientes líneas:
GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
googleAnalytics.setAppOptOut(false);
Solo una adición que podría ahorrarle horas para depurar. No vi mensajes de depuración locales de gav2 en logcat. Solo vería cuatro mensajes de inicio de gav2 como "necesito invocar inicializar ..." y "Servicio no disponible". Aunque vi puntos de vista en los informes en tiempo real de Google Analytics.
Lo que sucedió: comencé con la siguiente línea en onStart ()
EasyTracker.getInstance().activityStart(this);
Y luego de activar la depuración desde onCreate () ;
GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true);
Esto es obviamente incorrecto ya que onCreate () se ejecuta antes de onStart (). Ahora tengo ambos establecidos secuencialmente desde onStart ().
EasyTracker.getInstance().activityStart(this);
GoogleAnalytics.getInstance(getApplicationContext()).setDebug(true);
¿Qué salió mal?
Seguí el ejemplo de Google para GAV2 Beta 4 ( https://developers.google.com/analytics/devguides/collection/android/v2/advanced ). Comienza con el código onStart ():
EasyTracker.getInstance().activityStart(this);
Luego de habilitar la depuración y agregar el seguimiento de eventos, seguí los ejemplos avanzados. Sin pensar realmente agregué a onCreate (al igual que en el ejemplo):
googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext())
Utilicé googleAnalytics para habilitar la depuración y los eventos. Como no arroja excepciones y realmente produce resultados en Google Analytics, simplemente no noté el error por un tiempo. Por supuesto, el mensaje de inicio de sesión de gav2 indica que algo está mal. Pero si no está familiarizado con gav2, esto podría ser un comportamiento "normal".
A medida que más personas sigan el mismo ejemplo y la misma curva de aprendizaje, pensé que podría tomarme un momento y escribirlo, espero que te haya ahorrado algo de tiempo. Si no ve mensajes como "putHit llamado" en logcat, es posible que tenga un problema similar. Buena suerte.
Una cosa más al respecto - no se sorprenda si no verá sus pistas en el informe en tiempo real - ga_dispatchPeriod se establece en 30 minutos por defecto