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(); ApiAdapterFactory.getApiAdapter().enableStrictMode();
} }
AnalyticsUtils.sendPageViews(getApplicationContext(), "/appstart"); AnalyticsUtils.sendPageViews(getApplicationContext(), "/appstart");
AnalyticsUtils.dispatch();
Intent intent = new Intent(this, RemoveTempFilesService.class); Intent intent = new Intent(this, RemoveTempFilesService.class);
startService(intent); startService(intent);
} }
@@ -266,6 +266,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
protected void onStop() { protected void onStop() {
super.onStop(); super.onStop();
trackDataHub.stop(); trackDataHub.stop();
AnalyticsUtils.dispatch();
} }
@Override @Override
@@ -441,6 +441,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac
protected void onStop() { protected void onStop() {
super.onStop(); super.onStop();
trackDataHub.stop(); trackDataHub.stop();
AnalyticsUtils.dispatch();
} }
@Override @Override
@@ -22,16 +22,17 @@ import android.content.Context;
/** /**
* Utitlites for sending pageviews to Google Analytics. * Utitlites for sending pageviews to Google Analytics.
* *
* @author Jimmy Shih * @author Jimmy Shih
*/ */
public class AnalyticsUtils { public class AnalyticsUtils {
private static final String UA = "UA-7222692-2"; private static final String UA = "UA-7222692-2";
private static final String PRODUCT_NAME = "android-mytracks"; private static final String PRODUCT_NAME = "android-mytracks";
private static GoogleAnalyticsTracker tracker;
private AnalyticsUtils() {} private AnalyticsUtils() {}
/** /**
* Sends a page view. * Sends a page view.
* *
@@ -39,11 +40,17 @@ public class AnalyticsUtils {
* @param page the page * @param page the page
*/ */
public static void sendPageViews(Context context, String page) { public static void sendPageViews(Context context, String page) {
GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance(); if (tracker == null) {
tracker.startNewSession(UA, context); tracker = GoogleAnalyticsTracker.getInstance();
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context)); tracker.startNewSession(UA, context);
tracker.setProductVersion(PRODUCT_NAME, SystemUtils.getMyTracksVersion(context));
}
tracker.trackPageView(page); tracker.trackPageView(page);
tracker.dispatch(); }
tracker.stopSession();
public static void dispatch() {
if (tracker != null) {
tracker.dispatch();
}
} }
} }