Получение регистрационного удостоверения GCM с использованием Firebase

У меня есть ASP.net MVC-сервер, откуда я хочу отправлять push-уведомления в свое приложение для Android. Я уже реализовал Firebase Messaging в приложении, и уведомления работают нормально при отправке с панели Firebase.

Я попытался отправить push-уведомление с использованием сервера, отправив почтовый запрос, но для запроса требуется поле to. Раньше мы отправляли registration id, предоставленный GCM там. Теперь, когда Firebase обрабатывает его, как я могу получить идентификатор регистрации, который нужно поместить в поле, используя Firebase SDK в Android?

Ответ 1

Привет и спасибо за использование облачных сообщений Firebase!

Вы можете получить вызов регистрационного идентификатора:

FirebaseInstanceId.getInstance().getToken();

В отличие от GCM sdk, новая библиотека автоматически позаботится об извлечении токена как можно скорее, а затем кэширует его локально.

Вышеуказанный метод вернет токен, если он доступен, или null, если фаза выборки все еще выполняется.

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

public class InstanceIDService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);
        sendRegistrationToMyServer(refreshedToken);
    }
}

Дополнительная информация здесь: https://firebase.google.com/docs/cloud-messaging/android/client#sample-register