Add simple analytics.

This commit is contained in:
Sandor Dornbush
2011-06-13 21:15:37 -07:00
parent e9146f5fc1
commit cb785b89f0
5 changed files with 23 additions and 0 deletions
+1
View File
@@ -5,6 +5,7 @@
<classpathentry kind="lib" path="libs/google-common.jar"/> <classpathentry kind="lib" path="libs/google-common.jar"/>
<classpathentry kind="lib" path="libs/accounts.jar"/> <classpathentry kind="lib" path="libs/accounts.jar"/>
<classpathentry kind="lib" path="libs/google-api-client-1.2.2-alpha.jar"/> <classpathentry kind="lib" path="libs/google-api-client-1.2.2-alpha.jar"/>
<classpathentry kind="lib" path="libs/libGoogleAnalytics.jar"/>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/> <classpathentry kind="src" path="gen"/>
<classpathentry exported="true" kind="lib" path="/MyTracksLib/libs/protobuf-java-2.3.0-lite.jar"/> <classpathentry exported="true" kind="lib" path="/MyTracksLib/libs/protobuf-java-2.3.0-lite.jar"/>
+1
View File
@@ -114,6 +114,7 @@ limitations under the License.
<!-- Permissions for recording tracks and showing maps --> <!-- Permissions for recording tracks and showing maps -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
Binary file not shown.
+3
View File
@@ -39,4 +39,7 @@ limitations under the License.
<string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string> <string name="sendtogoogle_google_fusiontables_url">google.com/fusiontables</string>
<string name="sendtogoogle_google_mymaps_url">maps.google.com</string> <string name="sendtogoogle_google_mymaps_url">maps.google.com</string>
<string name="sendtogoogle_google_docs_url">docs.google.com</string> <string name="sendtogoogle_google_docs_url">docs.google.com</string>
<!-- ID for Google Analytics -->
<string name="google_analytics_id">UA-7222692-1</string>
</resources> </resources>
@@ -21,6 +21,7 @@ import static com.google.android.apps.mytracks.DialogManager.DIALOG_PROGRESS;
import static com.google.android.apps.mytracks.DialogManager.DIALOG_SEND_TO_GOOGLE; import static com.google.android.apps.mytracks.DialogManager.DIALOG_SEND_TO_GOOGLE;
import com.google.android.accounts.Account; import com.google.android.accounts.Account;
import com.google.android.apps.analytics.GoogleAnalyticsTracker;
import com.google.android.apps.mytracks.content.MyTracksProviderUtils; import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track; import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.TrackDataHub; import com.google.android.apps.mytracks.content.TrackDataHub;
@@ -159,6 +160,11 @@ public class MyTracks extends TabActivity implements OnTouchListener,
private SharedPreferences sharedPreferences; private SharedPreferences sharedPreferences;
/**
* Google Analytics tracker
*/
private GoogleAnalyticsTracker tracker;
/** /**
* The connection to the track recording service. * The connection to the track recording service.
*/ */
@@ -250,6 +256,12 @@ public class MyTracks extends TabActivity implements OnTouchListener,
apiFeatures.getApiPlatformAdapter().enableStrictMode(); apiFeatures.getApiPlatformAdapter().enableStrictMode();
} }
tracker = GoogleAnalyticsTracker.getInstance();
// Start the tracker in manual dispatch mode...
tracker.start(this.getString(R.string.google_analytics_id), this.getApplicationContext());
tracker.trackPageView("/android/appstart");
tracker.dispatch();
providerUtils = MyTracksProviderUtils.Factory.get(this); providerUtils = MyTracksProviderUtils.Factory.get(this);
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0); sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, 0);
dataHub = new TrackDataHub(this, sharedPreferences, providerUtils); dataHub = new TrackDataHub(this, sharedPreferences, providerUtils);
@@ -325,6 +337,8 @@ public class MyTracks extends TabActivity implements OnTouchListener,
dataHub.destroy(); dataHub.destroy();
tryUnbindTrackRecordingService(); tryUnbindTrackRecordingService();
tracker.dispatch();
tracker.stop();
super.onDestroy(); super.onDestroy();
} }
@@ -919,15 +933,19 @@ public class MyTracks extends TabActivity implements OnTouchListener,
dialogManager.showDialogSafely(DIALOG_PROGRESS); dialogManager.showDialogSafely(DIALOG_PROGRESS);
if (sendToGoogleDialog.getSendToMyMaps()) { if (sendToGoogleDialog.getSendToMyMaps()) {
tracker.trackPageView("/android/send/maps");
sendToGoogleMapsOrPickMap(sendToGoogleDialog); sendToGoogleMapsOrPickMap(sendToGoogleDialog);
} else if (sendToGoogleDialog.getSendToFusionTables()) { } else if (sendToGoogleDialog.getSendToFusionTables()) {
tracker.trackPageView("/android/send/fusion_tables");
authenticateToFusionTables(null); authenticateToFusionTables(null);
} else if (sendToGoogleDialog.getSendToDocs()) { } else if (sendToGoogleDialog.getSendToDocs()) {
tracker.trackPageView("/android/send/docs");
authenticateToGoogleDocs(); authenticateToGoogleDocs();
} else { } else {
Log.w(TAG, "Nowhere to upload to"); Log.w(TAG, "Nowhere to upload to");
onSendToGoogleDone(); onSendToGoogleDone();
} }
tracker.dispatch();
} }
private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) { private void sendToGoogleMapsOrPickMap(SendDialog sendToGoogleDialog) {