FCM может вернуть успешный ответ, но пользователь не увидит уведомление. Это значит, что сервер принял сообщение, но дальше оно могло потеряться на уровне устройства, приложения или настроек.
Неработающие push ломают напоминания, статусы заказов, чаты и возврат пользователей в приложение.
Коротко: нужно проверить актуальность токена, разрешения, notification channel, payload и поведение приложения в фоне.Почему возникает проблема
Частые причины: старый device token, отключенные уведомления, неправильный channel_id, data-only payload без обработки, ограничения производителя телефона или ошибка в обработчике приложения.
Что проверяю в первую очередь
- актуален ли FCM token
- разрешены ли уведомления на устройстве
- есть ли notification channel
- что внутри payload
- работает ли обработчик в фоне
Как исправляю
Я сверяю серверную отправку с логами приложения и настройками конкретного устройства.
- обновляю хранение токенов
- исправляю payload
- создаю корректный notification channel
- добавляю обработку data-сообщений
- удаляю невалидные токены
Что подготовить перед обращением
- ссылка на сайт или кабинет
- скриншот проблемы
- пример пользователя, заказа или события
- время, когда ошибка повторялась
- доступы или выгрузка логов без лишних персональных данных
Какой результат нужен
Push приходит на реальное устройство, открывает нужный экран и корректно обрабатывается в фоне.
Чего лучше не делать
Не ориентируйтесь только на успешный ответ FCM. Он не доказывает, что уведомление показано пользователю.
Вопросы и ответы
Почему на одном телефоне работает, а на другом нет?
Могут отличаться разрешения, версия Android и ограничения производителя.
Нужно ли обновлять токен?
Да, токены могут меняться после переустановки или выхода из аккаунта.
Что важнее: notification или data payload?
Зависит от сценария, но обработка должна быть явно предусмотрена.
Нужна похожая задача?
Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот, лог ошибки или пример заказа, и я подскажу, с чего безопасно начать исправление.
Итог
FCM success означает прием сообщения сервером, а не показ на телефоне. Нужно проверять токен, разрешения, канал и клиентский код.