Cordova (PhoneGap) 3.0+ Plugin to connect to Google's native Universal Analytics SDK 3.0
Prerequisites:
- A Cordova 3.0+ project for iOS and/or Android
- A Mobile App property through the Google Analytics Admin Console
#Installing
This plugin follows the Cordova 3.0 plugin spec, so it can be installed through the Cordova CLI in your existing Cordova project:
cordova plugin add https://github.com/danwilson/google-analytics-plugin.git
The plugin.xml file will add the Google Analytics SDK files for Android and/or iOS. Follow Google's steps if you need to update these later. Also make sure to review the Google Analytics terms and SDK Policy
If you are not using the CLI, follow the steps in the section Installing Without the CLI
#JavaScript Usage In your 'deviceready' handler, set up your Analytics tracker:
analytics.startTrackerWithId('UA-XXXX-YY')
where UA-XXXX-YY is your Google Analytics Mobile App property
or
analytics.startTracker('UA-XXXX-YY', settings)
wheresettings
is an object with this optionals fields:trackUncaughtExceptions
: set to YES to sent automatically uncaught exceptions to Google Analytics.dryRun
: set to YES prevents any data from being sent to Google Analytics.trackInterval
: the tracking information will be automatically dispatched every 10 seconds. This value if it is specified should be greater than cero, otherwise, tracking information must be sent manually, and this plugin has not this functionality for the moment :)
To track a Screen (PageView):
analytics.trackView('Screen Title')
To track an Event:
analytics.trackEvent('Category', 'Action', 'Label', Value)
Label and Value are optional, Value is numeric
To track an Exception:
analytics.trackException('Description', Fatal)
Description can be null or up to 100 characters, Fatal is boolean
#Installing Without the CLI Copy the files manually into your project and add the following to your config.xml files:
<feature name="UniversalAnalytics">
<param name="ios-package" value="UniversalAnalyticsPlugin" />
</feature>
<feature name="UniversalAnalytics">
<param name="android-package" value="com.danielcwilson.plugins.analytics.UniversalAnalyticsPlugin" />
</feature>
You also will need to manually add the Google Analytics SDK files:
- Download the Google Analytics SDK 3.0 for iOS and/or Android
- For iOS, add the downloaded Google Analytics SDK header files and libraries according to the Getting Started documentation
- For Android, add
libGoogleAnalyticsServices.jar
to your Cordova Android project's/libs
directory and build path
#Integrating with Lavaca
The lavaca
directory includes a component that can be added to a Lavaca project. It offers a way to use the web analytics.js
when the app is running in the browser and not packaged as Cordova.
- Copy
AnalyticsService.js
to your Lavaca project (I create a directory underjs/app
calleddata
). - In your config files (
local.json
,staging.json
,production.js
) create properties calledgoogle_analytics_id
(for the Mobile App UA property) andgoogle_analytics_web_id
(for the Web UA property) and set the appropriate IDs or leave blank as needed. - In any file you want to track screen views or events, require AnalyticsService and use the methods provided.
var analyticsService = require('app/data/AnalyticsService');
analyticsService.trackView('Home');