From a88f0aedd15b85645c26324efd9dc490e1612667 Mon Sep 17 00:00:00 2001 From: Euan Reid Date: Thu, 22 Aug 2013 11:35:03 +0100 Subject: [PATCH 1/4] Fixed really stupid bug (forgot to add js method) --- js/googleAnalytics.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/js/googleAnalytics.js b/js/googleAnalytics.js index a39a1bd..4951ec5 100644 --- a/js/googleAnalytics.js +++ b/js/googleAnalytics.js @@ -5,6 +5,12 @@ var GoogleAnalytics = Class(function () { NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "track", JSON.stringify({ eventName: name, params: data })); }; + + this.trackScreen = function (screenName) { + logger.log("{googleAnalytics} trackScreen: ", screenName); + NATIVE && NATIVE.plugins && NATIVE.plugins.sendEvent && + NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", screenName); + }; }); exports = new GoogleAnalytics(); From c7749b620eb33ce1f1acb5ed3df9d670f38cfacd Mon Sep 17 00:00:00 2001 From: Euan Reid Date: Thu, 22 Aug 2013 12:00:17 +0100 Subject: [PATCH 2/4] Fixed to use JSON --- android/GoogleAnalyticsPlugin.java | 11 +++++++++-- ios/GoogleAnalyticsPlugin.mm | 11 +++++++++-- js/googleAnalytics.js | 7 ++++--- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/android/GoogleAnalyticsPlugin.java b/android/GoogleAnalyticsPlugin.java index 7b12688..b411cd3 100644 --- a/android/GoogleAnalyticsPlugin.java +++ b/android/GoogleAnalyticsPlugin.java @@ -84,8 +84,15 @@ public void track(String json) { } } - public void trackScreen(String screenName) { - mGaTracker.sendView(screenName); + public void trackScreen(String json) { + try + { + JSONObject obj = new JSONObject(json); + screenName = obj.getString("screenName"); + mGaTracker.sendView(screenName); + } catch (JSONException e) { + logger.log("{googleAnalytics} trackScreen - failure: " + screenName + " - " + e.getMessage()); + } } public void onResume() { diff --git a/ios/GoogleAnalyticsPlugin.mm b/ios/GoogleAnalyticsPlugin.mm index cec5fd7..8934f8d 100644 --- a/ios/GoogleAnalyticsPlugin.mm +++ b/ios/GoogleAnalyticsPlugin.mm @@ -70,8 +70,15 @@ - (void) track:(NSDictionary *)jsonObject { } } -- (void) trackScreen:(NSString *)screenName { - [self.tracker sendView:screenName]; +- (void) trackScreen:(NSDictionary *)jsonObject { + @try { + NSString *screenName = [jsonObject valueForKey:@"screenName"]; + [self.tracker sendView:screenName]; + NSLOG(@"{googleAnalytics} Delivered screen '%@'", screenName); + } + @catch (NSException *exception) { + NSLOG(@"{googleAnalytics} Exception while processing screen: ", exception); + } } @end diff --git a/js/googleAnalytics.js b/js/googleAnalytics.js index 4951ec5..9d8e179 100644 --- a/js/googleAnalytics.js +++ b/js/googleAnalytics.js @@ -6,10 +6,11 @@ var GoogleAnalytics = Class(function () { JSON.stringify({ eventName: name, params: data })); }; - this.trackScreen = function (screenName) { - logger.log("{googleAnalytics} trackScreen: ", screenName); + this.trackScreen = function (name) { + logger.log("{googleAnalytics} trackScreen: ", name); NATIVE && NATIVE.plugins && NATIVE.plugins.sendEvent && - NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", screenName); + NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", + JSON.stringify(screenName: name)); }; }); From 26dd39e44a2e30c79540977b11ea8a6497e19db9 Mon Sep 17 00:00:00 2001 From: Euan Reid Date: Mon, 26 Aug 2013 11:53:22 +0100 Subject: [PATCH 3/4] Fixed JSON syntax --- js/googleAnalytics.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/googleAnalytics.js b/js/googleAnalytics.js index 9d8e179..be2e0b1 100644 --- a/js/googleAnalytics.js +++ b/js/googleAnalytics.js @@ -10,7 +10,7 @@ var GoogleAnalytics = Class(function () { logger.log("{googleAnalytics} trackScreen: ", name); NATIVE && NATIVE.plugins && NATIVE.plugins.sendEvent && NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", - JSON.stringify(screenName: name)); + JSON.stringify({screenName: name})); }; }); From 42284c6ef545005546980440e93343b949688dd1 Mon Sep 17 00:00:00 2001 From: Euan Reid Date: Fri, 30 Aug 2013 10:59:18 +0100 Subject: [PATCH 4/4] Fixed initialisation bug --- android/GoogleAnalyticsPlugin.java | 12 ++++++++++-- js/googleAnalytics.js | 9 +++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/android/GoogleAnalyticsPlugin.java b/android/GoogleAnalyticsPlugin.java index 7b12688..e387973 100644 --- a/android/GoogleAnalyticsPlugin.java +++ b/android/GoogleAnalyticsPlugin.java @@ -84,8 +84,16 @@ public void track(String json) { } } - public void trackScreen(String screenName) { - mGaTracker.sendView(screenName); + public void trackScreen(String json) { + String screenName = "noName"; + try + { + JSONObject obj = new JSONObject(json); + screenName = obj.getString("screenName"); + mGaTracker.sendView(screenName); + } catch (JSONException e) { + logger.log("{googleAnalytics} trackScreen - failure: " + screenName + " - " + e.getMessage()); + } } public void onResume() { diff --git a/js/googleAnalytics.js b/js/googleAnalytics.js index 4951ec5..f46711a 100644 --- a/js/googleAnalytics.js +++ b/js/googleAnalytics.js @@ -6,11 +6,12 @@ var GoogleAnalytics = Class(function () { JSON.stringify({ eventName: name, params: data })); }; - this.trackScreen = function (screenName) { - logger.log("{googleAnalytics} trackScreen: ", screenName); + this.trackScreen = function (name) { + logger.log("{googleAnalytics} trackScreen: ", name); NATIVE && NATIVE.plugins && NATIVE.plugins.sendEvent && - NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", screenName); + NATIVE.plugins.sendEvent("GoogleAnalyticsPlugin", "trackScreen", + JSON.stringify({screenName: name})); }; }); -exports = new GoogleAnalytics(); +exports = new GoogleAnalytics(); \ No newline at end of file