web-dev-qa-db-ja.com

Firebaseを使用してGCM登録IDを取得する

Androidアプリにプッシュ通知を送信したい場所からASP.net MVCサーバーがあります。アプリでFirebase Messagingを既に実装しており、送信時に通知が正常に機能しています。 Firebaseダッシュボードから。

投稿リクエストを送信してサーバーを使用してプッシュ通知を送信しようとしましたが、リクエストにはtoフィールドが必要です。以前は、GCMが提供するregistration idをそこに送信していました。 Firebaseはそれを処理しているので、AndroidのFirebase SDKを使用してtoフィールドに入れる登録IDを取得するにはどうすればよいですか?

12
noob

Firebase Cloud Messagingをご利用いただきありがとうございます!

登録ID呼び出しを取得できます。

_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

29
Diego Giorgini