writeEngagement method

Future<void> writeEngagement(
  1. List contents
)

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

}