Не работает переопределение onNewTask () в FirebaseMessagingService

Я только что установил Firebase в свое приложение для Android, чтобы включить push-уведомления. Я подтвердил, что он работает, отправив push-уведомление из консоли Firebase на все устройства, на которых запущено приложение. Теперь я пытаюсь получить токен FCM (уникальный идентификатор экземпляра приложения), чтобы отправлять сообщения на определенные устройства. Однако, когда я переопределяю функцию onNewToken () в своем классе, расширяя FirebaseMessagingService, метод не переопределяется. Согласно документам он должен работать. Остальные методы в документе успешно переопределены. Я нашел и декомпилировал файл класса FirebaseMessagingService во внешних библиотеках и обнаружил, что функции onNewToken там действительно нет.

Как я могу переопределить функцию, которая должна существовать в соответствии с документами, но не существует в файле класса?

Я использую com.google.firebase: firebase-messaging: 17.3.0 и com.google.firebase: firebase-core: 16.0.0

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
310
1

Ответы 1

Причина в том, что, как вы комментировали ранее, идентификатор экземпляра Firebase устарел, но он относится к классу завершения, тогда вы должны использовать @Override ... onNewToken в другом классе, а не в классе идентификатора экземпляра Firebase. Извините за мой английский. Пример такой:

public class MyFirebaseMessagingService extends FirebaseMessagingService {

   @Override
    public void onNewToken(String s) {
    Log.e("NEW_TOKEN", s);
}

Другие вопросы по теме