Abstract out the analytics class

This commit is contained in:
Vishesh Handa
2020-04-22 00:51:25 +02:00
parent 1f78dc2dfe
commit d511dab346
2 changed files with 21 additions and 4 deletions

View File

@ -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<void> logEvent({
@required String name,
Map<String, dynamic> parameters,
}) async {
return firebase.logEvent(name: name, parameters: parameters);
}
Future<void> setAnalyticsCollectionEnabled(bool enabled) async {
return firebase.setAnalyticsCollectionEnabled(enabled);
}
}

View File

@ -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;