writeEngagement method
Implementation
Future<void> writeEngagement(List<dynamic> contents) async {
var updatedConfigs = await AppticsConfigs.getValidConfigs();
var syncedDInfo = await AppticsDeviceRegistrar().getSyncedDeviceInfo();
var userInfo = await AppticsUserManager().getCurrentUser();
final isAnonTrackingEnabled = await AppticsDeviceTrackingState.isAnonTrackingEnabled();
var writableContent = _formatEngagements(contents);
if (writableContent.isNotEmpty) {
if (userInfo != null && !isAnonTrackingEnabled) {
writableContent["uid"] = userInfo.userId;
}
writableContent["session"] = AppticsConfigs().sessionStartTime ?? 0;
if (syncedDInfo != null && updatedConfigs != null) {
writableContent["meta"] = syncedDInfo.getDeviceMeta(updatedConfigs);
}
}
await AppticsDataStore.writeContent(jsonEncode(writableContent), FileType.engagement);
}