trackUserLogout method

Future<void> trackUserLogout({
  1. Map<String, dynamic>? payload,
})

Implementation

Future<void> trackUserLogout({Map<String, dynamic>? payload}) async {
  var alias = (Platform.isIOS) ? "ios_notification" : "android_notification";
  Map<String, dynamic> defaultPayload = {
    "_delete_media": {alias: ""}
  };
  payload?.forEach((key, val) {
    defaultPayload[key] = val;
  });
  await queue.add(() => postTracker("delete_media", defaultPayload));
  await queue.add(() => postTracker("logout", payload));

  custID = null;
  loginContact = null;
  await pref.remove(SaveKey.customerID);
  await pref.remove(SaveKey.loginContactID);

  if (isNotEmpty(pushToken)) {
    defaultPayload = {alias: pushToken};
    payload?.forEach((key, val) {
      defaultPayload[key] = val;
    });
    await queue.add(() => setPushNotificationToken(pushToken ?? ''));
  }
}