summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js')
-rw-r--r--StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js121
1 files changed, 0 insertions, 121 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js b/StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js
deleted file mode 100644
index 6b789895..00000000
--- a/StoneIsland/plugins/cordova-plugin-google-analytics/lavaca/AnalyticsService.js
+++ /dev/null
@@ -1,121 +0,0 @@
-define(function(require) {
-
- var Disposable = require('lavaca/util/Disposable');
- var Config = require('lavaca/util/Config');
- var Device = require('lavaca/env/Device');
- var ga = require('google-analytics');
-
- var AnalyticsService = Disposable.extend(function AnalyticsService() {
- Disposable.call(this);
- this.appId = Config.get('google_analytics_id');
- this.webId = Config.get('google_analytics_web_id');
- this.isWeb = this.webId.length;
-
- if (!Device.isCordova() && this.isWeb) {
- ga('create', this.webId);
- }
-
- document.addEventListener('deviceready', this.init.bind(this), false);
- }, {
- ready: false,
- queue: [],
- isWeb: false,
- //isApp: false, //TODO need to research when Device.isCordova() is valid in Lavaca load flow
- init: function() {
- if (Device.isCordova() && analytics) {
- this.ready = true;
- analytics.startTrackerWithId(this.appId);
- this.processQueue();
- this.isWeb = false;
- }
- },
- trackView: function(screen) {
- if (Device.isCordova()) {
- if (this.ready) {
- analytics.trackView(screen);
- } else {
- this.queue.push({
- action: 'trackView',
- params: [screen]
- });
- }
- } else if (this.isWeb) {
- ga('send', 'pageview', {
- 'title': screen
- });
- }
- },
- setUserId: function() {
- throw 'setUserId is not implemented for Lavaca';
- },
- setAnonymizeIp: function() {
- throw 'setAnonymizeIp is not implemented for Lavaca';
- },
- setOptOut: function() {
- throw 'setOptOut is not implemented for Lavaca';
- },
- setAppVersion: function() {
- throw 'setAppVersion is not implemented for Lavaca';
- },
- debugMode: function() {
- throw 'debugMode is not implemented for Lavaca';
- },
- trackEvent: function(category, action, label, value) {
- action = action || '';
- label = label || '';
- value = value || 0;
- if (Device.isCordova()) {
- if (this.ready) {
- analytics.trackEvent(category, action, label, value);
- } else {
- this.queue.push({
- action: 'trackEvent',
- params: [category, action, label, value]
- });
- }
- } else if (this.isWeb) {
- ga('send', {
- 'hitType': 'event',
- 'eventCategory': category,
- 'eventAction': action,
- 'eventLabel': label,
- 'eventValue': value
- });
- }
- },
- trackTiming: function(category, intervalInMilliseconds, name, label) {
- action = action || '';
- label = label || '';
- value = value || 0;
- if (Device.isCordova()) {
- if (this.ready) {
- analytics.trackTiming(category, intervalInMilliseconds, name, label);
- } else {
- this.queue.push({
- action: 'trackTiming',
- params: [category, intervalInMilliseconds, name, label]
- });
- }
- } else if (this.isWeb) {
- ga('send', {
- 'hitType': 'timing',
- 'timingCategory': category,
- 'timingValue': intervalInMilliseconds,
- 'timingVar': name,
- 'timingLabel': label
- });
- }
- },
- processQueue: function() {
- if (this.queue) {
- var emptyFunction = function() {};
- for (var i = 0; i < this.queue.length; ++i) {
- cordova.exec(emptyFunction, emptyFunction,
- 'UniversalAnalytics', this.queue[i].action, this.queue[i].params);
- }
- }
- }
- });
-
- return new AnalyticsService();
-});