FCM возвращает ошибку: NotRegistered после первого сообщения

Я выполнил инструкции на firebase.google.com, чтобы добавить FCM в свой проект.
Все было в порядке, у меня появилось сообщение «Инициализация FirebaseApp успешно» и новый токен в моих журналах. Но это не работает … Только первое push-уведомление, которое я отправляю на токен, получаю успех. Второй push и rest получают ошибку «NotRegistered».
Документация говорит

Если это NotRegistered, вы должны удалить идентификатор регистрации из своей базы данных сервера, потому что приложение было удалено с устройства или клиентское приложение не настроено на получение сообщений.

Но приложение не было удалено, а клиентское приложение настроено на прием сообщений, потому что первое сообщение приходит к клиенту

Solutions Collecting From Web of "FCM возвращает ошибку: NotRegistered после первого сообщения"

Я боролся несколько часов, но я нашел проблему. Было очень трудно найти и объяснить. Я попробую:

Мой проект имеет зависимость от другой зависимости внутри: My project > Dependency > Sub-dependency

AndroidManifest.xml содержит файл AndroidManifest.xml с <application> . Что-то вроде того:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my_sub_library"> <application android:allowBackup="true"> </application> </manifest> 

Из-за этого тега приложения моя зависимость должна была сделать это:

 <manifest package="br.com.ilhasoft.support.databinding" xmlns:tools="http://schemas.android.com/tools"> <application tools:node="replace"/> </manifest> 

Мое решение состояло в том, чтобы обновить субзависимость, удалив тег приложения и обновив зависимость, удалив действие замены.

Так или иначе, firebase игнорировал мой FirebaseMessagingService и отменял токен регистрации FCM.

Я предлагаю вам проверить свои зависимости, чтобы узнать, какой из них имеет тег приложения и обновить / заменить его. Это сработало для меня!