2015-05-11 11 views
7

Come la mia app, il conteggio della sessione era di circa 1.000 ~ 2000 quando stavo usando Google Analytics Android SDK v3. enter image description hereIl conteggio della sessione si moltiplica quando uso Google Analytics Android SDK v4

Ma quando ho aggiornato da v3 a v4, il conteggio della sessione cresce a 4.000 ~ 5.000. enter image description here

Questa è la global_tracker.xml:

<?xml version="1.0" encoding="utf-8"?> 

<!-- Enable automatic Activity measurement --> 
<bool name="ga_autoActivityTracking">true</bool> 

<!-- The screen names that will appear in reports --> 
<string name="ga_trackingId">xx-xxxx-xx</string> 

e questo è quello che ho fatto nel file Application.java:

public class ABCApplication extends Application { 
... 
private static Tracker t; 

... 
public synchronized Tracker getTracker() { 

    if (this.t == null) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     this.t = analytics.newTracker(R.xml.global_tracker); 
    } 
    return t; 

}} 

E questo è il file MainActivity.java:

public class MainActivity { 

@Override 
public void onStart() { 
    super.onStart(); 

    Tracker t = ((ABCApplication) this.getApplication()).getTracker(); 
    t.send(new HitBuilders.EventBuilder().setCategory("app").setAction("app_launch") 
      .setLabel("start_google_analytics").build()); 
} 

...} 

Qual è il motivo di questo problema? E come posso risolverlo?

+0

Anche il numero di utenti attivi è aumentato o solo il numero di sessioni è cambiato? – djabi

+0

@djabi Solo il numero di sessioni è cambiato, il numero di utenti attivi non è aumentato. – nnezhxw

+0

@nnezhxw hai avuto qualche soluzione ?? –

risposta

0

Aggiungi questo al vostro manifesto:

<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background 
    dispatching on non-Google Play devices --> 
<receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver" 
      android:enabled="true"> 
    <intent-filter> 
    <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" /> 
    </intent-filter> 
</receiver> 
<service android:name="com.google.android.gms.analytics.AnalyticsService" 
     android:enabled="true" 
     android:exported="false"/> 

Ho appena fatto alcuni test preliminari, ma dopo ho aggiunto sembra che riporti correttamente sessione e durata. Snippet di codice estratto da: https://developers.google.com/analytics/devguides/collection/android/v4/#manifest

5

Come abbiamo studiato, la causa principale di questo problema è il monitoraggio automatico delle attività. Quando il rilevamento automatico delle attività è disattivato, GA chiuderà la sessione utente, trascorsi i 30 minuti dall'ultimo evento. Se la funzione di rilevamento automatico delle attività è attiva, GA terminerà la sessione dopo che l'app è passata in background o l'utente ha chiuso l'app. Quindi l'avvio dell'app entro un breve periodo di tempo creerà una nuova sessione in GA.

+0

Grazie mille, il tuo commento mi aiuta molto. –

Problemi correlati