Жизненный цикл токена устройства с пользовательским контекстом для push-уведомлений

Я понимаю, что следующий вопрос не имеет прямого отношения к коду, но нам действительно нужны некоторые рекомендации по использованию push-уведомлений.

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

  • При запуске устройства приложение запрашивает токены устройства
  • Получает токен устройства
  • Регистрируется на push-сервере
  • Готово и все работает

Однако мой вопрос скорее о том, что делать, когда пользовательский контекст приложения изменяется. Например:

  1. Пользователь A входит в приложение, получает токен устройства, регистрирует устройство
  2. Пользователь А выходит из системы
  3. Пользователь B входит в приложение на том же устройстве, получает тот же токен устройства, снова регистрирует устройство, но устройство уже известно.

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

Конечно, мы могли бы реализовать функцию отмены регистрации, которая удаляет устройство при выходе из системы, но что произойдет, если приложение будет удалено и повторно добавлено. Например:

  1. Пользователь A регистрируется и получает push-уведомления
  2. Пользователь B удаляет приложение на тех же устройствах
  3. Пользователь B снова загружает приложение и получает токен устройства

В этот момент устройство снова получает push-уведомления от пользователя A, хотя ни один пользователь даже не вошел в систему.

Мне кажется, что мы упускаем важный шаг в нашем мышлении, но мы не понимаем, что это такое... мы не можем запросить новый маркер устройства afaik.

заранее спасибо

0 ответов

Другие вопросы по тегам