forked from upstream-mirrors/OpenTracks
Update Google Analytics to start one session
per app launch.
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user