Update Google Analytics to start one session

per app launch.
This commit is contained in:
Jimmy Shih
2012-09-20 13:06:42 -07:00
parent 7e2fa82f3c
commit 54589db47c
4 changed files with 18 additions and 8 deletions
@@ -37,6 +37,7 @@ public class MyTracksApplication extends Application {
ApiAdapterFactory.getApiAdapter().enableStrictMode();
}
AnalyticsUtils.sendPageViews(getApplicationContext(), "/appstart");
AnalyticsUtils.dispatch();
Intent intent = new Intent(this, RemoveTempFilesService.class);
startService(intent);
}
@@ -266,6 +266,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
protected void onStop() {
super.onStop();
trackDataHub.stop();
AnalyticsUtils.dispatch();
}
@Override
@@ -441,6 +441,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
protected void onStop() {
super.onStop();
trackDataHub.stop();
AnalyticsUtils.dispatch();
}
@Override
@@ -22,16 +22,17 @@ import android.content.Context;
/**
* Utitlites for sending pageviews to Google Analytics.
*
*
* @author Jimmy Shih
*/
public class AnalyticsUtils {
private static final String UA = "UA-7222692-2";
private static final String PRODUCT_NAME = "android-mytracks";
private static GoogleAnalyticsTracker tracker;
private AnalyticsUtils() {}
/**
* Sends a page view.
*
@@ -39,11 +40,17 @@ public class AnalyticsUtils {
* @param page the page
*/
public static void sendPageViews(Context context, String page) {
GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance();
tracker.startNewSession(UA, context);
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context));
if (tracker == null) {
tracker = GoogleAnalyticsTracker.getInstance();
tracker.startNewSession(UA, context);
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context));
}
tracker.trackPageView(page);
tracker.dispatch();
tracker.stopSession();
}
public static void dispatch() {
if (tracker != null) {
tracker.dispatch();
}
}
}