2016-06-15 3 views
6

Документация Firebase четко заявляет, что для доступа к обновленному токену необходимо использовать FirebaseInstanceIdService, и эта ручная регистрация больше не требуется, так как библиотека заботится обо всех процессах.Обновление токена Firebase

Проблема заключается в том, что onTokenRefresh вызывается только один раз, и если что-то пошло не так в процессе передачи его на мой сервер, приложение должно подождать до следующего обновления или выполнить полную деинсталляцию/переустановку.

Могу ли я применить ту же логику, что и предыдущие реализации GCM? То есть, при каждом запуске моего приложения я получаю токен, используя FirebaseInstanceId.getInstance().getToken() и отправляю его на свой сервер, не заботясь, если он уже отправлен. То же самое делается в onTokenRefresh.

Имеет ли такой подход какую-либо ошибку?

ответ

3

Что я полагаю, что в первый раз, когда вы получаете ЗНАК хранится локально (может быть в общей прив) и

сделать один флаг инициализировать его как ложный

, а затем попытаться отправьте TOKEN на свой сервер, который он отправил, успешно изменив флаг ti true, и нет необходимости отправлять его снова.

+1

я пришел к такому же выводу сразу после вставки вопрос, но я принимаю ваш ответ, потому что это правильно! – Alessandro

9

Кроме того, кажется, что вы можете вызвать эту функцию из-за пределов службы

FirebaseInstanceId.getInstance().getToken();

+1

правильный ответ, спасибо – pisumathu

Смежные вопросы