Токен Firebase Cloud Messaging никогда не возвращается для моего приложения Android (getToken() ничего не делает, никакиAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Токен Firebase Cloud Messaging никогда не возвращается для моего приложения Android (getToken() ничего не делает, никаки

Сообщение Anonymous »

Я работаю над приложением для Android (Java) с использованием Firebase Cloud Messaging и не могу получить регистрационный токен FCM для своего приложения.

Среда

  • Физическое устройство (Samsung)
  • Установлен Google Play Store
  • Обновленная версия сервисов Google Play
  • Спецификация Firebase 34.8.0
  • Android 15
  • com.google.firebase:firebase-messaging
  • Имя пакета соответствует google-services.json
  • Firebase инициализировано правильно (FirebaseApp.getApps().size() == 1)
  • Приложению предоставлено разрешение POST_NOTIFICATIONS

Что я сделал

  • Добавлен FirebaseMessagingService
  • Выполнено onNewToken()
  • Вызывается FirebaseMessaging.getInstance().getToken() из LoginActivity
  • Приложение установлено на реальном устройстве (не эмуляторе)
  • Приложение переустановлено несколько раз
  • Подтвержденная декларация службы манифеста
  • Подтвержденная конфигурация проекта Firebase
Что работает
  • Приложение работает нормально
  • Firebase инициализируется (без ошибок)
  • Сеть работает
  • Другие приложения на устройстве явно получают токены FCM (видны в logcat под SmpLog)
Проблема
  • FirebaseMessagingService.onNewToken() никогда не вызывается
  • FirebaseMessaging.getInstance().getToken() никогда не возвращает токен
  • Нет журнала успехов, нет журнала ошибок
Mainfest:








Проект Gradle:
id 'com.google.gms.google-services' version '4.4.4' apply false

gradle:app
plugin{id 'com.google.gms.google-services'}

implementation platform('com.google.firebase:firebase-bom:34.8.0')

implementation 'com.google.firebase:firebase-messaging'



public class MyFirebaseMessagingService extends FirebaseMessagingService {

private static final String TAG = "FCM";

@Override
public void onNewToken(@NonNull String token) {
super.onNewToken(token);

Log.d("FCM", "NEW TOKEN = " + token);

SessionManager session = new SessionManager(getApplicationContext());
session.saveFcmToken(token);
}

В моем LoginActivity onCreate() я добавил:
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(task -> {
if (!task.isSuccessful()) {
Log.e("FCM", "getToken FAILED", task.getException());
return;
}
Log.d("FCM", "FCM TOKEN RECEIVED: " + task.getResult());
});


Подробнее здесь: https://stackoverflow.com/questions/798 ... p-gettoken
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»