Firebase не генерирует токен для одного устройства - PullRequest
0 голосов
/ 03 апреля 2020

Я разрабатываю приложение android, которое использует облачные сообщения Firebase.

Есть одно устройство (Android S10 - Android 10), которое вызывает у меня головную боль.

Исходный поток:

1 - MainActivity:

FirebaseMessaging.getInstance().setAutoInitEnabled(true);

2 - Служба уведомлений:

2.1 - onNewToken

2.2 - сохранение токена в базе данных комнаты для будущего использования

3 - Когда пользователь вошел в систему, отправьте токен в API

4 - API начнет отправлять PU SH УВЕДОМЛЕНИЯ для этого токена

This flow работает для всех других протестированных устройств (Motorola x4 - Android 8, Motorola One Zoom - Android 9, Samsung S9 - Android 10, Samsung S20 - Android 10), но по какой-то причине не работает на этом S10, когда APK подписан и скомпилирован для выпуска.

По причинам отладки попытался изменить кучу кода. Изменено:

FirebaseMessaging.getInstance().setAutoInitEnabled(true);

Кому:

FirebaseApp.initializeApp(getApplicationContext());

без эффектов на любом устройстве

Попытка добавить приведенный ниже код в MainActivity 'onCreate:

        FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(task -> {
            if (!task.isSuccessful()) {
                return;
            }
            //save token for future use here
        });

без эффектов

Попытка удалить instaceId перед вызовом кода выше: FirebaseInstanceId.getInstance().deleteInstanceId(); без эффектов тоже

Единственный способ получить токен пожарной базы для этого телефона был когда я использовал приведенный выше код (FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(...);) в своем Application.onCreate()

Это не было бы проблемой, если бы оно работало вообще.

Попытался отправить уведомление pu sh для этого токена, полученного из Application.onCreate(), но он никогда не получает его.

Я использую все последние версии библиотек

Пытался поместить строку ниже в конфигурации proguard:

-keep class com.google.firebase.** { *; }

Есть предложения?

...