Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The count of session multiplies when I use Google Analytics Android SDK v4

As my app, the count of session was about 1,000~2,000 when I was using Google Analytics Android SDK v3. enter image description here

But when I updated from v3 to v4, the count of session grows to 4,000~5,000. enter image description here

This is the 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>

And this is what I have done in the Application.java file:

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;

}}

And this is the MainActivity.java file:

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

...}

What's the reason of this problem? And how can I solve it?

like image 759
nnezhxw Avatar asked May 11 '15 01:05

nnezhxw


2 Answers

As we investigated, the root cause of this issue is Activity auto tracking. When Activity auto tracking is off, GA will close user session, after the 30 minutes from last event is gone. If Activity auto tracking is on, GA will end session after the app goes into background or user exit the app. Then launching the app within short period of time will create a new session in GA.

like image 99
Dmitry Valetin Avatar answered Sep 22 '22 12:09

Dmitry Valetin


Maybe it has something to do with your timeout setting

Try adjusting this in your xml:

<resources>
  <integer name="ga_sessionTimeout">300</integer>
</resources>

https://developers.google.com/analytics/devguides/collection/android/v4/sessions

like image 21
Tom Long Avatar answered Sep 22 '22 12:09

Tom Long