diff --git a/lib/analytics.dart b/lib/analytics.dart index 2dbb55e2..0caf16a2 100644 --- a/lib/analytics.dart +++ b/lib/analytics.dart @@ -151,10 +151,17 @@ void logEvent(Event event, {Map parameters}) { Log.d("Event $event"); } -class CustomRouteObserver extends RouteObserver> { - void _sendScreenView(PageRoute route) { +class AnalyticsRouteObserver extends RouteObserver> { + void _sendScreenView(PageRoute route) async { final String screenName = route.settings.name; assert(screenName != null, "Screen name is null $route"); + + Log.i("Screen: $screenName"); + try { + await getAnalytics().firebase.setCurrentScreen(screenName: screenName); + } catch (e, stackTrace) { + Log.e("AnalyticsRouteObserver", ex: e, stacktrace: stackTrace); + } } @override diff --git a/lib/app.dart b/lib/app.dart index 89f4c562..5b80831f 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -9,7 +9,6 @@ import 'package:device_info/device_info.dart'; import 'package:dynamic_theme/dynamic_theme.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization_loader/easy_localization_loader.dart'; -import 'package:firebase_analytics/observer.dart'; import 'package:flutter_sentry/flutter_sentry.dart'; import 'package:path/path.dart' as p; import 'package:path_provider/path_provider.dart'; @@ -144,9 +143,6 @@ class JournalApp extends StatefulWidget { } static final analytics = Analytics(); - static FirebaseAnalyticsObserver observer = - FirebaseAnalyticsObserver(analytics: analytics.firebase); - static bool isInDebugMode = false; JournalApp(this.appState); @@ -305,8 +301,7 @@ class _JournalAppState extends State { theme: themeData, navigatorObservers: [ - JournalApp.observer, - CustomRouteObserver(), + AnalyticsRouteObserver(), ], initialRoute: initialRoute, debugShowCheckedModeBanner: false,