From 5f2f704a4398ca9d94805fc50aad395daa6ace8b Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Tue, 5 Mar 2019 13:59:39 +0000 Subject: [PATCH 1/8] Add support for analytics.resetAnalyticsData --- AUTHORS | 1 + .../firebaseanalytics/FirebaseAnalyticsPlugin.java | 8 ++++++++ .../ios/Classes/FirebaseAnalyticsPlugin.m | 3 +++ packages/firebase_analytics/lib/firebase_analytics.dart | 5 +++++ 4 files changed, 17 insertions(+) diff --git a/AUTHORS b/AUTHORS index ecc2c3e512b1..7d26d11e1d4c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -25,3 +25,4 @@ Tuyển Vũ Xuân Sarthak Verma Mike Diarmid Invertase +Elliot Hesp diff --git a/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java b/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java index 8255b3fc5efa..7215afb1e73b 100755 --- a/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java +++ b/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java @@ -56,6 +56,9 @@ public void onMethodCall(MethodCall call, Result result) { case "setUserProperty": handleSetUserProperty(call, result); break; + case "resetAnalyticsData": + handleResetAnalyticsData(call, result); + break; default: result.notImplemented(); break; @@ -123,6 +126,11 @@ private void handleSetUserProperty(MethodCall call, Result result) { result.success(null); } + private void handleResetAnalyticsData(MethodCall call, Result result) { + firebaseAnalytics.resetAnalyticsData(); + result.success(null); + } + private static Bundle createBundleFromMap(Map map) { if (map == null) { return null; diff --git a/packages/firebase_analytics/ios/Classes/FirebaseAnalyticsPlugin.m b/packages/firebase_analytics/ios/Classes/FirebaseAnalyticsPlugin.m index 6ae3d92d3952..5567dbda64b4 100644 --- a/packages/firebase_analytics/ios/Classes/FirebaseAnalyticsPlugin.m +++ b/packages/firebase_analytics/ios/Classes/FirebaseAnalyticsPlugin.m @@ -59,6 +59,9 @@ - (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result NSNumber *enabled = [NSNumber numberWithBool:call.arguments]; [[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:[enabled boolValue]]; result(nil); + } else if ([@"resetAnalyticsData" isEqualToString:call.method]) { + [FIRAnalytics resetAnalyticsData]; + result(nil); } else { result(FlutterMethodNotImplemented); } diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index de7a0d81e4a1..795bdab57ed0 100755 --- a/packages/firebase_analytics/lib/firebase_analytics.dart +++ b/packages/firebase_analytics/lib/firebase_analytics.dart @@ -160,6 +160,11 @@ class FirebaseAnalytics { }); } + /// Clears all analytics data for this app from the device and resets the app instance id. + Future resetAnalyticsData() { + await _channel.invokeMethod('resetAnalyticsData'); + } + /// Logs the standard `add_payment_info` event. /// /// This event signifies that a user has submitted their payment information From f026524183f22b7a66cc4782f0401a35ca2193a0 Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Tue, 5 Mar 2019 14:11:41 +0000 Subject: [PATCH 2/8] add analytics.resetAnalyticsData test case --- .../firebase_analytics/test/firebase_analytics_test.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/firebase_analytics/test/firebase_analytics_test.dart b/packages/firebase_analytics/test/firebase_analytics_test.dart index 2c0339e34e51..13c731421662 100755 --- a/packages/firebase_analytics/test/firebase_analytics_test.dart +++ b/packages/firebase_analytics/test/firebase_analytics_test.dart @@ -114,6 +114,11 @@ void main() { expect(invokedMethod, 'setSessionTimeoutDuration'); expect(arguments, 234); }); + + test('resetAnalyticsData', () async { + await analytics.resetAnalyticsData(); + expect(invokedMethod, 'resetAnalyticsData'); + }); }); group('$FirebaseAnalytics analytics events', () { From 5a54bd8c15230fef904e7f1f63f4b690f03b4eaa Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Tue, 5 Mar 2019 14:22:47 +0000 Subject: [PATCH 3/8] add missing async --- packages/firebase_analytics/lib/firebase_analytics.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index 795bdab57ed0..7a22c11df7f9 100755 --- a/packages/firebase_analytics/lib/firebase_analytics.dart +++ b/packages/firebase_analytics/lib/firebase_analytics.dart @@ -161,7 +161,7 @@ class FirebaseAnalytics { } /// Clears all analytics data for this app from the device and resets the app instance id. - Future resetAnalyticsData() { + Future resetAnalyticsData() async { await _channel.invokeMethod('resetAnalyticsData'); } From 9a9e8818414688adadd1fd6747f588015ef07d9f Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Tue, 5 Mar 2019 14:36:59 +0000 Subject: [PATCH 4/8] Add strong_mode_implicit_dynamic_method ignore comment --- packages/firebase_analytics/lib/firebase_analytics.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index 7a22c11df7f9..909b16d333e1 100755 --- a/packages/firebase_analytics/lib/firebase_analytics.dart +++ b/packages/firebase_analytics/lib/firebase_analytics.dart @@ -162,6 +162,9 @@ class FirebaseAnalytics { /// Clears all analytics data for this app from the device and resets the app instance id. Future resetAnalyticsData() async { + // TODO(amirh): remove this on when the invokeMethod update makes it to stable Flutter. + // https://github.com/flutter/flutter/issues/26431 + // ignore: strong_mode_implicit_dynamic_method await _channel.invokeMethod('resetAnalyticsData'); } From e114fb30b0b46b82804504207796f6a98c14cac9 Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Tue, 5 Mar 2019 14:39:33 +0000 Subject: [PATCH 5/8] correct formatting --- packages/firebase_analytics/lib/firebase_analytics.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index 909b16d333e1..02e4dc5c4cda 100755 --- a/packages/firebase_analytics/lib/firebase_analytics.dart +++ b/packages/firebase_analytics/lib/firebase_analytics.dart @@ -162,10 +162,10 @@ class FirebaseAnalytics { /// Clears all analytics data for this app from the device and resets the app instance id. Future resetAnalyticsData() async { - // TODO(amirh): remove this on when the invokeMethod update makes it to stable Flutter. - // https://github.com/flutter/flutter/issues/26431 - // ignore: strong_mode_implicit_dynamic_method - await _channel.invokeMethod('resetAnalyticsData'); + // TODO(amirh): remove this on when the invokeMethod update makes it to stable Flutter. + // https://github.com/flutter/flutter/issues/26431 + // ignore: strong_mode_implicit_dynamic_method + await _channel.invokeMethod('resetAnalyticsData'); } /// Logs the standard `add_payment_info` event. From 7807b2b2accb6e9fb115e552ccf09e4a9cd4c39b Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Wed, 6 Mar 2019 05:47:35 -0800 Subject: [PATCH 6/8] Update CHANGELOG.md --- packages/firebase_analytics/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index 4642488475d9..2a3beeb8cb69 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.2 + +* Add resetAnalyticsData method + ## 2.0.2+1 * Log messages about automatic configuration of the default app are now less confusing. From a29f4a2b275b2632c9b87383cbcb0fd799804738 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Wed, 6 Mar 2019 05:48:05 -0800 Subject: [PATCH 7/8] Update pubspec.yaml --- packages/firebase_analytics/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_analytics/pubspec.yaml b/packages/firebase_analytics/pubspec.yaml index 6ca58cdcc1cd..852f88e02d87 100755 --- a/packages/firebase_analytics/pubspec.yaml +++ b/packages/firebase_analytics/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Google Analytics for Firebase, an app measuremen solution that provides insight on app usage and user engagement on Android and iOS. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_analytics -version: 2.0.2+1 +version: 2.0.3 flutter: plugin: From a1385cae4e60df036626703750f35a419574dadf Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Wed, 6 Mar 2019 05:48:17 -0800 Subject: [PATCH 8/8] Update CHANGELOG.md --- packages/firebase_analytics/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index 2a3beeb8cb69..b13e21e93f5f 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,4 +1,4 @@ -## 2.0.2 +## 2.0.3 * Add resetAnalyticsData method