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;
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 {}}) {
@ -174,7 +183,7 @@ class AnalyticsRouteObserver extends RouteObserver<PageRoute<dynamic>> {
}
try {
await getAnalytics().firebase.setCurrentScreen(screenName: screenName);
await getAnalytics().setCurrentScreen(screenName: screenName);
} catch (e, stackTrace) {
Log.e("AnalyticsRouteObserver", ex: e, stacktrace: stackTrace);
}

View File

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

View File

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