2012-06-15 13 views
5

Utilizzo la libreria di analisi di Google EasyTracker e la mia app ha attività multiple. Voglio monitorare come modello di dispositivo evento e le informazioni sulla versione del sistema ogni volta all'avvio dell'app.Android google analytics easytracker - traccia la chiamata ad un evento nel metodo onCreate di arresto anomalo dell'attività di avvio

Questo codice di metodo onCreate della mia attività lanciatore

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

crash 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 

Quello che sto facendo di sbagliato?

+0

Sarebbe utile vedere più attività. La tua attività estende la classe TrackedActivity o estende solo la classe Activity? –

+0

Inoltre, meno questa linea funziona correttamente. Vedo che richiede un file di configurazione in XML. L'hai inventato? –

+0

Sì, la mia attività sta estendendo TrackedActivity. Meno il tracciamento della linea funziona anche correttamente, ad es. visualizzazioni di pagina mostrate nell'interfaccia web di google analytics. –

risposta

5

Si ottiene una NullPointerException perché il tracker è inizializzato nel metodo onStart della classe base TrackedActivity, che avviene dopo onCreate. Tuttavia, TrackedActivity traccia automaticamente la creazione dell'attività (trackPageView), quindi normalmente non è necessario trackEvent qui. È possibile chiamare trackEvent con successo su qualsiasi altro metodo tra onStart e onStop sul ciclo di vita dell'attività.

0

Ricordate aggiungere il seguente codice nel activity.onCreate:

EasyTracker.getInstance().setContext(this); 

prima di utilizzare qualsiasi funzione di inseguitore.

Problemi correlati