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
@@ -29,6 +29,7 @@ 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() {}
@@ -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();
}
} }
} }