2012-06-15 16 views
5

Estoy usando la biblioteca de análisis de Google EasyTracker y mi aplicación tiene múltiples actividades. Deseo realizar un seguimiento como modelo de dispositivo de evento e información de la versión del sistema cada vez que inicie la aplicación.Android google analytics easytracker: seguimiento de una llamada de evento en método onCreate de bloqueos de actividad de iniciador

Este código en el método onCreate de mi actividad lanzador

EasyTracker.getTracker().trackEvent("Others", "App launch", "The os version", 0); 

accidentes con

06-15 21:24:30.898: WARN/dalvikvm(1203): threadid=8: thread exiting with uncaught exception (group=0x4001d800) 
06-15 21:24:30.898: ERROR/AndroidRuntime(1203): FATAL EXCEPTION: TrackerThread 
     java.lang.NullPointerException 
     at com.google.android.apps.analytics.GoogleAnalyticsTracker.createEvent(Unknown Source) 
     at com.google.android.apps.analytics.GoogleAnalyticsTracker.trackEvent(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.GoogleAnalyticsTrackerDelegateImpl.trackEvent(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.EasyTracker$11.run(Unknown Source) 
     at com.google.android.apps.analytics.easytracking.EasyTracker$TrackerThread.run(Unknown Source) 
06-15 21:24:30.918: WARN/ActivityManager(58): Force finishing activity com.mycompany.myapp/com.mycompany.activity.HomeActivity 

Lo que estoy haciendo mal?

+0

Sería útil ver más de la actividad. ¿Su actividad extiende la clase TrackedActivity o solo está extendiendo la clase Activity? –

+0

Además, menos esa línea es el seguimiento que funciona correctamente. Veo que requiere un archivo de configuración en el XML. ¿Lo estableciste? –

+0

Sí, mi actividad se está extendiendo a TrackedActivity. Menos que el seguimiento de línea también funciona correctamente, p. páginas vistas que se muestran en la interfaz web de Google Analytics. –

Respuesta

5

Obtiene una NullPointerException porque el rastreador se inicializa en el método onStart de la clase base TrackedActivity, que ocurre después de onCreate. Sin embargo, TrackedActivity rastrea automáticamente la creación de la actividad (trackPageView) por lo que normalmente no necesita trackEvent aquí. Puede invocar con éxito trackEvent en cualquier otro método entre onStart y onStop en el ciclo de vida de la actividad.

0

Recuerde añadir el siguiente código en activity.onCreate:

EasyTracker.getInstance().setContext(this); 

antes de usar cualquier función de rastreador.

Cuestiones relacionadas