diff --git a/lib/analytics.dart b/lib/analytics.dart index 372e113f..8a29495b 100644 --- a/lib/analytics.dart +++ b/lib/analytics.dart @@ -1,7 +1,23 @@ -import 'package:gitjournal/app.dart'; +import 'package:flutter/foundation.dart'; +import 'package:gitjournal/app.dart'; import 'package:firebase_analytics/firebase_analytics.dart'; -FirebaseAnalytics getAnalytics() { +Analytics getAnalytics() { return JournalApp.analytics; } + +class Analytics { + FirebaseAnalytics firebase; + + Future logEvent({ + @required String name, + Map parameters, + }) async { + return firebase.logEvent(name: name, parameters: parameters); + } + + Future setAnalyticsCollectionEnabled(bool enabled) async { + return firebase.setAnalyticsCollectionEnabled(enabled); + } +} diff --git a/lib/app.dart b/lib/app.dart index 503abd81..cdd871f9 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -4,6 +4,7 @@ import 'package:device_info/device_info.dart'; import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_analytics/observer.dart'; import 'package:flutter/material.dart'; +import 'package:gitjournal/analytics.dart'; import 'package:gitjournal/screens/purchase_screen.dart'; import 'package:gitjournal/screens/purchase_thankyou_screen.dart'; import 'package:gitjournal/utils/logger.dart'; @@ -109,9 +110,9 @@ class JournalApp extends StatelessWidget { } } - static FirebaseAnalytics analytics = FirebaseAnalytics(); + static final analytics = Analytics(); static FirebaseAnalyticsObserver observer = - FirebaseAnalyticsObserver(analytics: analytics); + FirebaseAnalyticsObserver(analytics: analytics.firebase); static bool isInDebugMode = false;