Logout Device

Prev Next

Overview

The Logout Device feature in iOS allows developers to disassociate a user’s device from receiving notifications after they log out. This ensures secure handling of user-specific data and a tailored notification experience.

Use Case

  1. Purpose:

    • Stop push notifications for a device after the user logs out.

    • Protect user privacy by removing the association between the user and the device.

  2. Benefits:

    • Prevent notifications from being sent to devices without an active session.

    • Enhance app security and ensure proper user management.

Implementation Details

  1. Logout Device API: Call the SDK method to log out the device:

    For Objective-C:

    [[Appoxee shared] logoutDeviceWithCompletionHandler:^(NSError * _Nullable error) {
        if (!error) {
            NSLog(@"Device successfully logged out.");
        } else {
            NSLog(@"Failed to log out device: %@", error.localizedDescription);
        }
    }];

    For Swift:

    Appoxee.shared()?.logoutDevice { error in
        if error == nil {
            print("Device successfully logged out.")
        } else {
            print("Failed to log out device: \(error?.localizedDescription ?? "Unknown error")")
        }
    }
  2. Post-Logout Notification Behavior: Ensure that after logout, the device does not receive any notifications tied to the previous user session.

  3. Re-login Handling: Re-enable notifications when a user logs back into their account:

    Appoxee.shared()?.setPushEnabled(true)
  4. Clear Additional Data on Logout: Optionally clear cached data and user-specific preferences:

    UserDefaults.standard.removeObject(forKey: "user_data")

Keep in mind:

  • Test logout functionality to verify that no notifications are received after logout.

  • Inform users that logging out will disable notifications for their account on the device.

  • Implement proper error handling to ensure the logout operation is successful even under poor network conditions.