2016-06-29 4 views
1

У меня есть приложение для Android, которое получает push-уведомления. Мне было интересно, был ли более простой способ хранения токена FCM и идентификатора пользователя на внешнем db, учитывая, что прямо сейчас я пишу свой собственный метод FirebaseInstanceIdService. sendRegistrationToServer. Нравится этоХранение токена FCM

public class TokenRegistrationService extends FirebaseInstanceIdService { 

    @Override 
    public void onTokenRefresh() { 
     // My custom manager 
    } 

    private void sendRegistrationToServer(final String FCMToken) { 
     // Here I can send FCMToken to my db 
    } 
} 

Есть ли какой-либо другой способ для меня получить токен и отправить его?

ответ

0

Я предполагаю, что вы имеете в виду более простой способ, чем расширение FirebaseInstanceIdService. Если это так, то следует отметить, что маркер генерируется независимо от того, расширяете ли вы этот класс.

Чтобы получить токен, вы можете просто получить экземпляр InstanceID и позвонить getToken.

String token = InstanceID.getInstance().getToken(); 

отметить также, что, если вы не запрашивает маркер в FirebaseInstanceIdServiceonTokenRefresh обратного вызова, getToken возвратит нуль если маркер процесса поиска еще не завершена, и возвращает маркер, когда он был получен.

Поиск токенов происходит, как только ваше приложение запускается, поэтому, если вам не нужен токен в начале первого запуска, вероятно, будет достаточно позвонить getToken. Если вам нужны токены или обновленные версии, как только они будут доступны, вам нужно будет расширить FirebaseInstanceIdService и переопределить onTokenRefresh.

0

Есть ли другой способ для меня получить токен и отправить его?

Для генерации регистрационных маркеров, я уверен, что нет другого пути, чем просто с помощью FirebaseInstanceID службы.

Для отправки маркера на ваш сервер. Я не уверен, что вопрос здесь. Не посылает токен прямо на ваш сервер приложений после того, как он был сгенерирован достаточно просто? Или я чего-то не хватает? Изложите.

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