Intereting Posts
Сообщение об исключении – null? Не удается разрешить символ «GoogleCloudMessaging» GCM Разверните приложение через Google Play Store на частном канале без Google Apps? Proguard, похоже, удаляет целые пакеты, которые включены в путь Макет, как радиальное меню Общий класс с проблемой ограничения ограничений Обновить Android ListActivity при изменении данных списка? Сбой эмулятора Android 4.0.3: не удалось выделить память: 8 Android: Как определить ориентацию изображения (портрет или пейзаж), выбранный из галереи при настройке изображения? ADB нажимает несколько файлов с одним расширением с одной командой RingtonePreference Значение по умолчанию Lazy Загрузка не работает должным образом В Android, должен ли адаптер синхронизации контактов работать в отдельном процессе? Имена хостов для Android браузера не разрешаются, если имя домена не добавлено Как получить таблицы столбцов arraylist на Android?

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.

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