2015-05-11 11 views
7

W mojej aplikacji liczba sesji wynosiła około 1000 ~ 2000 podczas korzystania z Google Analytics Android SDK v3. enter image description hereLiczba sesji mnoży się, gdy korzystam z Google Analytics Android SDK v4

Ale kiedy zaktualizowałem z v3 do v4, liczba sesji wzrasta do 4.000 ~ 5.000. enter image description here

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

I to jest to, co mam zrobić w pliku 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; 

}} 

I to jest plik 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()); 
} 

...} 

Co jest przyczyną tego problemu? I jak mogę to rozwiązać?

+0

Czy liczba aktywnych użytkowników wzrosła, czy zmieniła się tylko liczba sesji? – djabi

+0

@djabi Zmieniano tylko liczbę sesji, liczba aktywnych użytkowników nie wzrosła. – nnezhxw

+0

@nnezhxw czy masz jakieś rozwiązanie? –

Odpowiedz

0

Dodaj do tego manifestu:

<!-- 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"/> 

Właśnie przeprowadziłem wstępne testy, ale po dodaniu wydaje się, że prawidłowo raportowano sesję i czas trwania. Fragment kodu zaczerpnięty z: https://developers.google.com/analytics/devguides/collection/android/v4/#manifest

5

W toku badania podstawową przyczyną tego problemu jest automatyczne śledzenie aktywności. Gdy automatyczne śledzenie aktywności jest wyłączone, GA zamknie sesję użytkownika po 30 minutach od ostatniego zdarzenia. Jeśli automatyczne śledzenie aktywności jest włączone, GA zakończy sesję po tym, jak aplikacja przejdzie w tło lub użytkownik opuści aplikację. Uruchomienie aplikacji w krótkim czasie spowoduje utworzenie nowej sesji w GA.

+0

Wielkie dzięki, twój komentarz bardzo mi pomaga. –

Powiązane problemy