diff --git a/lib/analytics.dart b/lib/analytics.dart index c20c3377..107646c7 100644 --- a/lib/analytics.dart +++ b/lib/analytics.dart @@ -33,6 +33,15 @@ enum Event { DrawerSettings, PurchaseScreenOpen, + PurchaseScreenClose, + PurchaseScreenThankYou, + + GitHostSetupError, + GitHostSetupComplete, + GitHostSetupGitCloneError, + GitHostSetupButtonClick, + + Settings, } String _eventToString(Event e) { @@ -80,6 +89,22 @@ String _eventToString(Event e) { case Event.PurchaseScreenOpen: return "purchase_screen_open"; + case Event.PurchaseScreenClose: + return "purchase_screen_close"; + case Event.PurchaseScreenThankYou: + return "purchase_screen_thank_you"; + + case Event.GitHostSetupError: + return "githostsetup_error"; + case Event.GitHostSetupComplete: + return "onboarding_complete"; + case Event.GitHostSetupGitCloneError: + return "onboarding_gitClone_error"; + case Event.GitHostSetupButtonClick: + return "githostsetup_button_click"; + + case Event.Settings: + return "settings"; } return "unknown_event"; @@ -89,14 +114,6 @@ class Analytics { var firebase = FirebaseAnalytics(); bool enabled = false; - Future logEvent({ - @required String name, - Map parameters, - }) async { - await firebase.logEvent(name: name, parameters: parameters); - captureErrorBreadcrumb(name: name, parameters: parameters); - } - Future log({ @required Event e, Map parameters, diff --git a/lib/app.dart b/lib/app.dart index d3b4688f..22e2ce3a 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -138,10 +138,7 @@ class JournalApp extends StatefulWidget { JournalApp.analytics.setAnalyticsCollectionEnabled(enabled); if (enabled) { - JournalApp.analytics.logEvent( - name: "settings", - parameters: settings.toLoggableMap(), - ); + logEvent(Event.Settings, parameters: settings.toLoggableMap()); } } diff --git a/lib/screens/purchase_screen.dart b/lib/screens/purchase_screen.dart index 1bfc90dc..04543845 100644 --- a/lib/screens/purchase_screen.dart +++ b/lib/screens/purchase_screen.dart @@ -60,9 +60,7 @@ class PurchaseScreen extends StatelessWidget { } Future _onWillPop() async { - getAnalytics().logEvent( - name: "purchase_screen_close", - ); + logEvent(Event.PurchaseScreenClose); return true; } } diff --git a/lib/setup/autoconfigure.dart b/lib/setup/autoconfigure.dart index 202c1e67..1f362ad4 100644 --- a/lib/setup/autoconfigure.dart +++ b/lib/setup/autoconfigure.dart @@ -87,8 +87,8 @@ class GitHostSetupAutoConfigureState extends State { Log.d("GitHostSetupAutoConfigure: " + e.toString()); setState(() { errorMessage = widget.gitHostType.toString() + ": " + e.toString(); - getAnalytics().logEvent( - name: "githostsetup_error", + logEvent( + Event.GitHostSetupError, parameters: { 'errorMessage': errorMessage, }, diff --git a/lib/setup/button.dart b/lib/setup/button.dart index d53bc973..ff8b7974 100644 --- a/lib/setup/button.dart +++ b/lib/setup/button.dart @@ -50,13 +50,10 @@ class GitHostSetupButton extends StatelessWidget { void _onPressedWithAnalytics() { Log.d("githostsetup_button_click " + text); - getAnalytics().logEvent( - name: "githostsetup_button_click", - parameters: { - 'text': text, - 'icon_url': iconUrl == null ? "" : iconUrl, - }, - ); + logEvent(Event.GitHostSetupButtonClick, parameters: { + 'text': text, + 'icon_url': iconUrl == null ? "" : iconUrl, + }); onPressed(); } } diff --git a/lib/setup/repo_selector.dart b/lib/setup/repo_selector.dart index 93f5eda8..05cd0ddc 100644 --- a/lib/setup/repo_selector.dart +++ b/lib/setup/repo_selector.dart @@ -97,12 +97,9 @@ class GitHostSetupRepoSelectorState extends State { Log.d("GitHostSetupAutoConfigure: " + e.toString()); setState(() { errorMessage = e.toString(); - getAnalytics().logEvent( - name: "githostsetup_error", - parameters: { - 'errorMessage': errorMessage, - }, - ); + logEvent(Event.GitHostSetupError, parameters: { + 'errorMessage': errorMessage, + }); logException(e, stacktrace); }); diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index 1ef80cd9..56385f27 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -486,12 +486,9 @@ class GitHostSetupScreenState extends State { if (error != null && error.isNotEmpty) { setState(() { - getAnalytics().logEvent( - name: "onboarding_gitClone_error", - parameters: { - 'error': error, - }, - ); + logEvent(Event.GitHostSetupGitCloneError, parameters: { + 'error': error, + }); gitCloneErrorMessage = error; }); return; @@ -523,8 +520,8 @@ class GitHostSetupScreenState extends State { ); } - getAnalytics().logEvent( - name: "onboarding_complete", + logEvent( + Event.GitHostSetupComplete, parameters: _buildOnboardingAnalytics(), ); Navigator.pop(context); @@ -563,9 +560,9 @@ class GitHostSetupScreenState extends State { Log.d("GitHostSetupAutoConfigureComplete: " + e.toString()); setState(() { _autoConfigureErrorMessage = e.toString(); - getAnalytics().logEvent( - name: "githostsetup_error", - parameters: { + logEvent( + Event.GitHostSetupError, + parameters: { 'errorMessage': _autoConfigureErrorMessage, }, ); diff --git a/lib/widgets/purchase_widget.dart b/lib/widgets/purchase_widget.dart index 07b66a81..8dcd7ed0 100644 --- a/lib/widgets/purchase_widget.dart +++ b/lib/widgets/purchase_widget.dart @@ -178,10 +178,7 @@ class _PurchaseWidgetState extends State { settings.proExpirationDate = status.expiryDate.toIso8601String(); settings.save(); - getAnalytics().logEvent( - name: "purchase_screen_thank_you", - ); - + logEvent(Event.PurchaseScreenThankYou); Navigator.of(context).popAndPushNamed('/purchase_thank_you'); }