デバイストークンの変更¶
デバイストークンは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());
}
}
});
}
}