setAppStatus method
Sets the app status and tracks install/update events.
Implementation
Future<void> setAppStatus() async {
final session = await InternalSessionUtils.instance.getOrCreateSession();
final appStatus = await AppVersionService().checkAppStatus();
final nowTimezone = DateTime.now();
final newSession = await InternalSessionUtils.instance.getOrCreateSession();
if (appStatus case OptimusAppStatus.install) {
final properties = OptimusProperties()
..addAttribute(version, newSession.appVersion)
..addAttribute(
installedTime,
nowTimezone.toUtc().millisecondsSinceEpoch,
);
await trackEvent(appStatusInstall, properties);
} else if (appStatus case OptimusAppStatus.update) {
final properties = OptimusProperties()
..addAttribute(versionFrom, session.appVersion)
..addAttribute(versionTo, newSession.appVersion)
..addAttribute(updatedOn, nowTimezone.toUtc().millisecondsSinceEpoch);
await trackEvent(appStatusUpdate, properties);
}
await trackEvent(appStatusOpen);
}