コンテンツにスキップ

デバイストークンの変更

デバイストークンはOSによって変更される時があります。
以下のクラスを実装して、変更を検知し管理サーバに送信します。

FirebaseMessagingServiceクラスを継承してonNewToken()を実装します。
デバイストークンが作成または変更された場合、同メソッドが呼ばれます。

FirebaseMessagingServiceクラスを継承したクラスはメッセージの受信で作成済みです。

//FirebaseMessagingServiceクラス
void onNewToken(String token)

デバイストークンの変更を管理サーバに送信

//RichFlyerクラス
void tokenRefresh(String token, final RichFlyerResultListener listener)
パラメータ 内容
token 変更されたデバイストークン
listener 初期化の結果を応答するリスナ

実装例

Java
import android.content.Intent;
import com.google.firebase.messaging.FirebaseMessagingService;
import jp.co.infocity.richflyer.RichFlyer;
import jp.co.infocity.richflyer.RichFlyerResultListener;
import jp.co.infocity.richflyer.util.RFResult;

public class FirebaseMessagingServiceBase extends FirebaseMessagingService {

    @Override
    public void onNewToken(String token){
      // デバイストークンを管理サーバに通知する
        RichFlyer richFlyer = new RichFlyer(getApplicationContext());
        richFlyer.tokenRefresh(token, new RichFlyerResultListener() {
            @Override
            public void onCompleted(RFResult result) {
                if (result.isResult()) {
                    Log.d("RichFlyer", "Refresh Token成功");
                } else {
                    // エラー
                    Log.d("RichFlyer", result.getMessage() + "code:" + result.getErrorCode());
                }
            }
        });
    }
}