Вступить в клуб →
средняявопросPush-уведомления, Firebase и покупки в приложении

Сообщение чата сохраняется в локальную базу, только когда приложение открыто

Сервер отправляет через FCM:

{
  "message": {
    "token": "...",
    "notification": { "title": "Анна", "body": "Привет!" },
    "data": { "chatId": "17", "messageId": "9031" }
  }
}

В onMessageReceived на Android сообщение пишется в Room. Когда приложение на переднем плане — всё сохраняется. Когда в фоне — уведомление в шторке есть, а в базе пусто. Почему?

  • С блоком notification в фоне колбэк не вызывается
  • Room не может писать в базу из фонового потока
  • Поле data доставляется только при открытом приложении
  • В фоне FCM откладывает сообщения до запуска

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела