isolate firebase analytics code to one file

This way it'll be easier to remove in the future
This commit is contained in:
Vishesh Handa
2020-11-09 11:15:32 +01:00
parent 59e9c66534
commit 0d22fa76c4
3 changed files with 22 additions and 13 deletions

View File

@ -154,6 +154,15 @@ class Analytics {
this.enabled = enabled; this.enabled = enabled;
return firebase.setAnalyticsCollectionEnabled(enabled); return firebase.setAnalyticsCollectionEnabled(enabled);
} }
Future<void> setCurrentScreen({@required String screenName}) async {
await firebase.setCurrentScreen(screenName: screenName);
}
Future<void> setUserProperty(
{@required String name, @required String value}) async {
await firebase.setUserProperty(name: name, value: value);
}
} }
void logEvent(Event event, {Map<String, String> parameters = const {}}) { void logEvent(Event event, {Map<String, String> parameters = const {}}) {
@ -174,7 +183,7 @@ class AnalyticsRouteObserver extends RouteObserver<PageRoute<dynamic>> {
} }
try { try {
await getAnalytics().firebase.setCurrentScreen(screenName: screenName); await getAnalytics().setCurrentScreen(screenName: screenName);
} catch (e, stackTrace) { } catch (e, stackTrace) {
Log.e("AnalyticsRouteObserver", ex: e, stacktrace: stackTrace); Log.e("AnalyticsRouteObserver", ex: e, stacktrace: stackTrace);
} }

View File

@ -114,15 +114,15 @@ class JournalApp extends StatefulWidget {
JournalApp.analytics.setAnalyticsCollectionEnabled(enabled); JournalApp.analytics.setAnalyticsCollectionEnabled(enabled);
if (enabled) { if (enabled) {
getAnalytics().firebase.setUserProperty( getAnalytics().setUserProperty(
name: 'proMode', name: 'proMode',
value: appSettings.proMode.toString(), value: appSettings.proMode.toString(),
); );
getAnalytics().firebase.setUserProperty( getAnalytics().setUserProperty(
name: 'proExpirationDate', name: 'proExpirationDate',
value: appSettings.proExpirationDate.toString(), value: appSettings.proExpirationDate.toString(),
); );
} }
} }

View File

@ -137,10 +137,10 @@ class Repository with ChangeNotifier {
notesFolder = NotesFolderFS(null, _gitRepo.gitDirPath, settings); notesFolder = NotesFolderFS(null, _gitRepo.gitDirPath, settings);
// Makes it easier to filter the analytics // Makes it easier to filter the analytics
getAnalytics().firebase.setUserProperty( getAnalytics().setUserProperty(
name: 'onboarded', name: 'onboarded',
value: remoteGitRepoConfigured.toString(), value: remoteGitRepoConfigured.toString(),
); );
var cachePath = p.join(cacheDir, "cache.json"); var cachePath = p.join(cacheDir, "cache.json");
_notesCache = NotesCache( _notesCache = NotesCache(