Я выполнил инструкции на сайте firebase.google.com, чтобы добавить FCM в свой проект.
Все было в порядке, у меня появилось сообщение «Инициализация FirebaseApp успешно» и свежий токен в моих журналах. Но это не работает ... Только первое push-уведомление, которое я отправляю на токен, получаю успех. Во втором нажатии и отдыхе появляется ошибка «NotRegistered».
Документация говоритFCM возвращает ошибку: NotRegistered после первого сообщения
Если NotRegistered, вы должны удалить регистрационный номер из базы данных сервера, так как приложение было удалено из устройства, или клиентское приложение не настроено для приема сообщений.
но заявка не была удалена, и приложение-клиент настроен на получение сообщений, поскольку первое сообщение приходит к клиенту
Проверьте, вызван ли метод 'onTokenRefresh()'. Это означает, что токен обновлен, и вам нужно использовать новый токен. Вы используете консоль firebase для отправки уведомления? или вы используете свою собственную реализацию сервера. – GeorgeLBA
GeorgeLBA, onTokenRefresh в моем случае вызывается только один раз при первом запуске программы или после очистки всех данных приложений. Я использую свою собственную реализацию сервера. –
Nikita. Попробуйте распечатать маркер после отправки первого уведомления. Просто чтобы убедиться, что токен не меняется. Используйте 'FirebaseInstanceID.getToken()' и проверьте, совпадает ли токен после отправки уведомления. Если оно равно null, это потому, что по какой-то причине токен был удален. – GeorgeLBA