Невозможно найти токен FCM - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь реализовать уведомления и могу отправить уведомление с помощью консоли firebase на все устройства приложения, однако у меня возникают проблемы при попытке получить токен устройства, чтобы я мог отправить уведомление одному конкретному устройству. У меня есть сервис, который расширяет FirebaseMessagingService и включает метод onNewtoken, показанный ниже. Я добавил этот сервис в свой манифест и попытался запустить приложение, но все еще не смог найти токен. Что-то я делаю не так?

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

Ответы [ 2 ]

1 голос
/ 22 марта 2020

OnNewtoken сработает только по следующему сценарию ios

  • Приложение удаляет идентификатор экземпляра
  • Приложение восстанавливается на новом устройстве
  • Пользователь удаляет / переустанавливает приложение. Пользователь очищает данные приложения.

Вы также можете получить токен пользователя по приведенному ниже коду

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
    @Override
    public void onSuccess(InstanceIdResult instanceIdResult) {
        String token = instanceIdResult.getToken();
        // send it to server
    }
});
0 голосов
/ 22 марта 2020

Вы можете получить токен принудительно, так как вы можете вызвать этот код с onCreate(), так как иногда, когда приложение уже сгенерировало токен, оно не вызывает onNewToken

FirebaseInstanceId.getInstance().getInstanceId()
    .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
    @Override
    public void onComplete(@NonNull Task<InstanceIdResult> task) {
        if (!task.isSuccessful()) {
            KLog.w("getInstanceId failed", task.getException());
            return;
        }
        // Get new Instance ID token
        if (task.getResult() != null) {
            String token = task.getResult().getToken();
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...