Error en la conexión de Google Analytics con Google para el servicio
He implementado Google Analytics (V2) en mi aplicación para Android. Hace un tiempo el código logró enviar datos al perfil (V2) con éxito. Sin embargo, ahora se niega a conectarse al servicio:
04-09 14:42:49.911: W/GAV2(8576): Thread[main,5,main]: Need to call initialize() and be in fallback mode to start dispatch. 04-09 14:42:49.921: I/GAV2(8576): Thread[main,5,main]: ExceptionReporter created, original handler is com.android.internal.os.RuntimeInit$UncaughtHandler 04-09 14:42:50.051: D/libEGL(8576): loaded /system/lib/egl/libEGL_mali.so 04-09 14:42:50.061: D/libEGL(8576): loaded /system/lib/egl/libGLESv1_CM_mali.so 04-09 14:42:50.061: D/libEGL(8576): loaded /system/lib/egl/libGLESv2_mali.so 04-09 14:42:50.120: D/OpenGLRenderer(8576): Enabling debug mode 0 04-09 14:42:50.190: W/IInputConnectionWrapper(8576): showStatusIcon on inactive InputConnection 04-09 14:42:54.881: I/GAV2(8576): Thread[GAThread,5,main]: connecting to Analytics service 04-09 14:42:54.891: I/GAV2(8576): Thread[GAThread,5,main]: connect: bindService returned false for Intent { act=com.google.android.gms.analytics.service.START (has extras) } 04-09 14:42:54.901: W/GAV2(8576): Thread[GAThread,5,main]: Service unavailable (code=1), will retry. 04-09 14:42:54.941: I/GAV2(8576): Thread[GAThread,5,main]: No campaign data found. 04-09 14:42:59.911: I/GAV2(8576): Thread[Service Reconnect,5,main]: connecting to Analytics service 04-09 14:42:59.921: I/GAV2(8576): Thread[Service Reconnect,5,main]: connect: bindService returned false for Intent { act=com.google.android.gms.analytics.service.START (has extras) } 04-09 14:42:59.921: W/GAV2(8576): Thread[Service Reconnect,5,main]: Service unavailable (code=1), using local store. 04-09 14:42:59.921: I/GAV2(8576): Thread[Service Reconnect,5,main]: falling back to local store 04-09 14:42:59.971: V/GAV2(8576): Thread[GAThread,5,main]: dispatch running... 04-09 14:43:00.061: V/GAV2(8576): Thread[GAThread,5,main]: ...nothing to dispatch 04-09 14:43:00.061: I/GAV2(8576): Thread[GAThread,5,main]: PowerSaveMode initiated. 04-09 14:43:52.951: D/dalvikvm(8576): GC_CONCURRENT freed 197K, 4% free 7258K/7492K, paused 15ms+5ms, total 56ms 04-09 14:43:54.611: W/IInputConnectionWrapper(8576): showStatusIcon on inactive InputConnection
Estoy bastante seguro de mi código es suficiente ya que logró enviar datos antes. Estos son los pasos que he implementado (se utiliza el Android Google Analytics V2 documentos):
- Silencio de Google Iniciar sesión en el servicio de fondo Android
- Lectura de múltiples características de un dispositivo BLE de forma sincrónica (método recomendado para Android)
- START_STICKY para IntentService
- Enviar la emisión con la combinación de localbroadcastmanager sendorderedbroadcast
- Android reproduciendo música en fondo
Adiciones manifiestas:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Adiciones de la actividad principal:
@Override public void onStart() { super.onStart(); EasyTracker.getInstance().activityStart(this); } @Override public void onStop() { EasyTracker.getInstance().activityStop(this); super.onStop(); }
Xml (analytics.xml)
<?xml version="1.0" encoding="utf-8" ?> <resources> <!--tracking ID--> <string name="ga_trackingId">UA-(copied from profile)-1</string> <!--Enable automatic activity tracking--> <bool name="ga_autoActivityTracking">true</bool> <!--Enable automatic exception tracking--> <bool name="ga_reportUncaughtExceptions">true</bool> <!--Enable debug tracking--> <bool name="ga_debug">true</bool> <integer name="ga_dispatchPeriod">20</integer> </resources>
Recibo las advertencias en el mismo lanzamiento de la aplicación. He intentado crear un nuevo perfil / cuenta. He intentado usar & # 45; Y & # 8211; En lugar de los guiones. Han pasado 30+ horas desde que se recibieron los últimos datos en el perfil, desde entonces las líneas logcat anteriores.
¿Alguna idea de cómo se produce esto?
- Cómo utilizar Android LocationManager y Listener
- ¿Es posible tener varias cerraduras de la estela?
- Pasar parámetros a GcmTaskService
- Ejecutar el oyente GPS en segundo plano en Android
- ¿Oiga el cambio de volumen?
- Cómo detener un IntentService mientras hay muchos IntentService en ejecución
- ¿Hay alguna forma de punto de ruptura dentro de las clases probadas?
- Puede un servicio de Android proporcionar dos interfaces para comunicarse con?
Puede que no sea tu caso, pero aquí va de todos modos.
Tenía analíticas funcionando bien en mi aplicación. Yo estaba usando Eclipse y decidí cambiar a Intellij IDE. Cuando lo hice, el IDE me mostró una advertencia tipográfica sobre el carácter de guión de mi archivo analytics.xml (con respecto a ga_trackingId). Cuando hice el cambio (invisible para el ojo humano) la advertencia se fue, pero la analítica simplemente dejó de funcionar.
Podría ser algo con la codificación del archivo, lo que sea, pero mi caso tuve que escribir el carácter de guión y no pegarlo (y también agregar un tools: ignore = "TypographyDashes" en mi archivo para deshacerse de la advertencia).
No estoy seguro de si esto es importante, pero mi analytics.xml vive en "valores" en lugar de en "xml" y funciona bien.
Así es como se ve. Espero que esto ayude.
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes"> <!-- Replace placeholder ID with your tracking ID --> <string name="ga_trackingId">UA-8158474-29</string> <!-- Enable automatic activity tracking --> <bool name="ga_autoActivityTracking">true</bool> <integer name="ga_dispatchPeriod">40</integer> <!-- Enable automatic exception tracking --> <bool name="ga_reportUncaughtExceptions">true</bool> </resources>
Ga_debug hacer esto a false y probar una vez. Probablemente lo conseguirás.
<!--Enable debug tracking--> <bool name="ga_debug">false</bool>
¿Ha comprobado en la interfaz web de Google Analytics que no recibe nada en realidad?
También tengo la impresión de la depuración que indica ninguna conectividad pero mi código todavía trabaja (y uso EasyTracker también). Estoy recibiendo eventos cuando lo compruebo en la interfaz web. ¿Es este su caso también? Desafortunadamente no sé por qué la depuración dice que no tiene conexión.
- Android – ¿Cómo enviar informes de fallos?
- Google Play Services LocationServices.API – nueva opción "nunca"