Ответ вслух Middle Push-уведомления спрашивают часто обновлено

Система push-уведомлений в мобильном приложении

Вопрос

Расскажите, как устроить push-уведомления в приложении от клиента до сервера.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

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

Что должно прозвучать в ответе

  • Разрешение в момент понятной пользы

  • Токены: обновление, привязка к пользователю и устройству, удаление при выходе

  • Сервер: очередь отправки, провайдеры, обработка невалидных токенов

  • Типы: видимые, тихие, rich, с действиями

  • Нажатие ведёт через общий роутер deep links

  • Настройки категорий для пользователя и аналитика доставки

Что могут спросить следом

  • Как не спамить пользователя?
  • Что делать с невалидными токенами?

Разбор

На клиенте прошу разрешение не на старте, а в момент, когда пользователь видит пользу. Получив токен, отправляю его на сервер с id пользователя, платформой и версией приложения, обновляю при каждом получении и удаляю привязку при выходе. Сервер ставит уведомления в очередь, отправляет через APNs и FCM, а токены, по которым сервис ответил «невалиден», удаляет. Для картинок и шифрования на iOS использую Notification Service Extension, на Android data-сообщения и свой билдер. По нажатию payload с маршрутом идёт в общий роутер deep links. Пользователю даю настройки по категориям, иначе он отключит всё. Меряю отправку, доставку через расширение и открытия.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.