2012-02-11 38 views
5

Tengo un problema con el uso de GoogleAnalytics EasyTracker en Android.
La configuración que he hecho para esta pregunta es simple:
- nuevo proyecto androide
- añadir GA y ET libs
- añadir GoogleAnalytics.xml:Android EasyTracker no funciona correctamente?

<resources> 
    <string name="ga_api_key">UA-2912-1</string> 
    <bool name="ga_debug">true</bool> 
    <bool name="ga_dryRun">true</bool> 
    <bool name="ga_auto_activity_tracking">true</bool> 
    <integer name="ga_dispatchPeriod">10</integer> 
</resources> 

extienden actividad con TrackedActivity en lugar de la actividad:

package test.testing.ez; 

import android.os.Bundle; 

import com.google.android.apps.analytics.easytracking.TrackedActivity; 

public class TestEZActivity extends TrackedActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

al final, después de ejecutar mi aplicación simple en emulador o dispositivo, algo como esto aparece en mi LogCat después de cambiar la orientación dos veces.

02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): Host: www.google-analytics.com 
02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): User-Agent: GoogleAnalytics/1.4.2 (Linux; U; Android 2.1-update1; en-us; sdk Build/ECLAIR) 
02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): GET /__utm.gif?utmwv=4.8.1ma&utmn=1604828210&utmt=event&utme=5(**)(0)&utmcs=UTF-8&utmsr=480x320&utmul=en-US&utmac=UA-2912-1&utmcc=__utma%3D1.659024508.1328970962.1328970962.1328971039.2%3B&utmht=1328971157185&utmqt=10064 HTTP/1.1 

02-11 14:39:27.294: I/GoogleAnalyticsTracker(219): Host: www.google-analytics.com 
02-11 14:39:27.294: I/GoogleAnalyticsTracker(219): User-Agent: GoogleAnalytics/1.4.2 (Linux; U; Android 2.1-update1; en-us; sdk Build/ECLAIR) 
02-11 14:39:27.294: I/GoogleAnalyticsTracker(219): GET /__utm.gif?utmwv=4.8.1ma&utmn=1061578751&utmt=event&utme=5(**)(0)&utmcs=UTF-8&utmsr=480x320&utmul=en-US&utmac=UA-2912-1&utmcc=__utma%3D1.659024508.1328970962.1328970962.1328971039.2%3B&utmht=1328971161689&utmqt=5611 HTTP/1.1 

02-11 14:39:27.314: I/GoogleAnalyticsTracker(219): Host: www.google-analytics.com 
02-11 14:39:27.314: I/GoogleAnalyticsTracker(219): User-Agent: GoogleAnalytics/1.4.2 (Linux; U; Android 2.1-update1; en-us; sdk Build/ECLAIR) 
02-11 14:39:27.314: I/GoogleAnalyticsTracker(219): GET /__utm.gif?utmwv=4.8.1ma&utmn=1061578751&utmt=event&utme=5(**)(0)&utmcs=UTF-8&utmsr=480x320&utmul=en-US&utmac=UA-2912-1&utmcc=__utma%3D1.659024508.1328970962.1328970962.1328971039.2%3B&utmht=1328971161689&utmqt=5623 HTTP/1.1 

02-11 14:39:27.324: I/GoogleAnalyticsTracker(219): Host: www.google-analytics.com 
02-11 14:39:27.324: I/GoogleAnalyticsTracker(219): User-Agent: GoogleAnalytics/1.4.2 (Linux; U; Android 2.1-update1; en-us; sdk Build/ECLAIR) 
02-11 14:39:27.324: I/GoogleAnalyticsTracker(219): GET /__utm.gif?utmwv=4.8.1ma&utmn=1210083032&utmcs=UTF-8&utmsr=480x320&utmul=en-US&utmp=%2Ftest.testing.ez.TestEZActivity&utmac=UA-2912-1&utmcc=__utma%3D1.659024508.1328970962.1328970962.1328971039.2%3B&utmht=1328971161800&utmqt=5524 HTTP/1.1 

tres primeros son eventos vacíos (utme = 5 (**) (0)) y último es páginaVer (utmp =% 2Ftest.testing.ez.TestEZActivity).
El comportamiento correcto debería ser un evento vacío, pageView, emptyEvent, pageView (desde onStop, onStart, onStop y onStart).
Esto también es incorrecto al rastrear más de un evento (con EasyTracker.getTracker().trackEvent) durante un envío.
¿Alguien tuvo problemas similares?

+1

¿Qué quiere decir con "GoogleAnalytics.xml"? ¿Cómo se usa eso en tu proyecto? –

Respuesta

1

Resultó ser un error en libGoogleAnalytics.jar 1.4.2
En función AsyncDispatchTask.dispatchSomePendingHits en NetworkDispatcher.DispatcherThread en el bucle for requesterCallBacks.requestSent() se llama, que elimina los elementos de la lista de éxitos.
Este es el caso sobre todo para el modo seco, pero a veces puede suceder en el modo normal (cuando golpeó longitud de cadena es más grande que 8k), pero obtendrá advertido si eso sucede con:

Log.w("GoogleAnalyticsTracker", "Hit too long (> 8192 bytes)--not sent"); 

así que asegúrese sus eventos y pageViews no son demasiado largos.

Cuestiones relacionadas