Когда FirebaseInstanceId.getInstance (). GetToken () = null? - PullRequest
0 голосов
/ 30 апреля 2018

Откуда и когда извлекается токен и когда он доступен?

Это синхронный звонок на сервер Firebase? Если я позвоню слишком рано в жизненном цикле приложения, возможно, оно еще не заполнено?

1 Ответ

0 голосов
/ 30 апреля 2018

Откуда и когда извлекается токен и когда он доступен?

Маркер генерируется службой идентификатора экземпляра FCM в фоновом режиме, которая запускается при запуске приложения. Детали того, как генерируется токен, неясны, но, насколько я понимаю, устройству необходимо приличное подключение к Интернету, чтобы оно могло взаимодействовать с серверами FCM для токена.

Это синхронный вызов к серверу Firebase?

Технически говоря, нет. Как указано в документах :

FirebaseInstanceID.getToken() возвращает ноль, если токен еще не сгенерирован.

В настоящее время, если токен нулевой, вы должны ожидать триггер в вашем onNewToken(), где вы могли бы затем вызвать getToken(), который теперь должен содержать токен.

Если я позвоню слишком рано в жизненном цикле приложения, возможно, оно еще не заполнено?

Обычно нормально вызывать getToken() как можно скорее - в MainActivity вашего приложения - в большинстве случаев, когда ваше приложение достигает этой точки, оно уже имеет значение. Но опять же, вы все равно должны обращаться с ним правильно, если он нулевой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...