2012-02-11 15 views
5

Ho un problema con l'utilizzo di GoogleAnalytics EasyTracker su Android.
La configurazione che ho fatto per questa domanda è semplice:
- nuovo progetto Android
- aggiungere GA e ET librerie
- aggiungere GoogleAnalytics.xml:Android EasyTracker non funziona correttamente?

<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> 

estendere l'attività con TrackedActivity invece di attività:

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); 
    } 
} 

alla fine, dopo aver eseguito la semplice applicazione su emulatore o dispositivo, qualcosa di simile appare nel mio LogCat dopo il passaggio orientamento due volte.

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 

primi tre sono eventi vuoti (utme = 5 (**) (0)) e ultimo è paginaMostra (utmp =% 2Ftest.testing.ez.TestEZActivity).
Il comportamento corretto deve essere evento vuoto, pageView, emptyEvent, pageView (da onStop, onStart, onStop e onStart).
Questo è anche sbagliato quando si traccia più di un evento (con EasyTracker.getTracker().trackEvent) durante una spedizione.
Qualcuno ha avuto problemi simili?

+1

Cosa intendi con "GoogleAnalytics.xml"? Com'è usato nel tuo progetto? –

risposta

1

si è rivelato essere un bug nel libGoogleAnalytics.jar 1.4.2
In funzione AsyncDispatchTask.dispatchSomePendingHits in NetworkDispatcher.DispatcherThread nel ciclo for requesterCallBacks.requestSent() è chiamato, che rimuove gli elementi dalla lista colpi.
Questo è il caso per lo più per la modalità a secco, ma a volte può accadere in modalità normale (quando ha colpito stringa di lunghezza è maggiore di 8k), ma si otterrà avvertito se ciò accade con:

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

quindi basta assicurarsi i tuoi eventi e le tue pagine non sono troppo lunghe.

Problemi correlati