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

Push-уведомления от начала до конца

Вопрос

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

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

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

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

Коротко

Образцовый ответ: «Беру expo-notifications или Firebase Messaging. Перед системным запросом разрешения показываю свой экран с объяснением пользы, потому что повторно система не спросит.

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

  • APNs и FCM (или Expo Push Service), токен устройства

  • Разрешения: объясняющий экран, запрос на iOS и Android 13+, каналы Android

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

  • Обработка в foreground, background и при холодном старте

  • Данные: тип и id, навигация после готовности навигатора

  • Тестирование на реальных устройствах

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

  • Как открыть экран, требующий входа, по нажатию на уведомление?
  • Что делать, если пользователь отказал в разрешении?
  • Как отправить уведомление в определённое время?

Разбор

Образцовый ответ: «Беру expo-notifications или Firebase Messaging. Перед системным запросом разрешения показываю свой экран с объяснением пользы, потому что повторно система не спросит. На Android 13+ тоже нужен запрос, а для Android 8+ заранее создаю каналы. Токен отправляю на сервер при каждом запуске и привязываю к пользователю, при выходе отвязываю. Сервер шлёт через FCM и APNs или через Expo Push Service. В данных только тип и id. Обрабатываю три состояния: в foreground сам решаю, показывать ли баннер, нажатие в фоне ловлю слушателем, а холодный старт через получение начального уведомления, переход делаю после готовности навигации и, если нужно, после входа. Проверяю на реальных устройствах обеих платформ»

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

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