Лучшая практика для обработки уведомления Apple push, когда несколько пользователей используют одно и то же устройство

Мое приложение является специфичным для пользователя. несколько пользователей могут использовать одно и то же устройство. Мое приложение имеет автономные функции выхода из системы. подумайте, что один из моих пользователей (скажем, пользователь 1) вышел из системы офлайн. В это время мой сервер отправляет уведомление APNS для пользователя1. через некоторое время мое устройство станет в сети. за это время я не вошел в приложение. мой вопрос в том, что пока мое устройство подключено к сети (когда доступно сетевое подключение), и пользователь1 выйдет из системы, мое приложение получит push-уведомление от сервера APNS (отправлено для выведенного из системы пользователя).

Ответ 1

При выходе из системы: [[UIApplication sharedApplication] unregisterForRemoteNotifications];

При входе в систему:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

Ответ 2

Это поможет вам точно:

Сначала вы должны запросить веб-службу при выходе пользователя из системы. Эта веб-служба удаляет токен устройства для пользователя, который собирается выйти из базы данных сервера.

Теперь вам нужно добавить чек (в методе push-уведомлений на веб-конце, который использует ваш сторонний разработчик для отправки запроса на push для APNS), который будет отправлять только push для пользователя, у которого есть токен устройства. Что это.

Ответ 3

Вы можете отключить получение push-уведомления программно, когда пользователь выходит из вашего приложения. Если вы не отключили push-уведомление программно, оно будет получать уведомления, так как маркер вашего устройства зарегистрирован на сервере (если вы подключены к Интернету)

Ответ 4

При выходе из системы вы должны сделать один служебный вызов, который просто уничтожит токен этого пользователя с веб-сервера.

При успешном входе в систему пользователя вы должны зарегистрировать свое устройство для push-уведомления, как правило, как мы делаем. Таким образом, ваш токен вашего устройства будет зарегистрирован на сервере для определенного пользователя.