69
42

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FirebaseInstanceIdServiceがDeprecatedになった件

Last updated at Posted at 2018-07-06

FirebaseInstanceIdServiceが非推奨に

2018/06/28にFirebaseInstanceIdServiceが非推奨になりました。
https://firebase.google.com/docs/reference/android/com/google/firebase/iid/FirebaseInstanceIdService

firebase-messaging:17.0.0までは下記の処理でtokenを取得していました。

AndroidManifest.xml
<service android:name=".MyFirebaseInstanceIdService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>
MyFirebaseInstanceIdService.kt
class MyFirebaseInstanceIdService : FirebaseInstanceIdService() {
    override fun onTokenRefresh() {
        val token = FirebaseInstanceId.getInstance().token
        // tokenの処理
    }
}

firebase-messaging:17.1.0からは新しいtokenが作成された際の処理任意のタイミングでのtokenの取得の実装方法が変わります。
###新しいtokenが作成された際の処理
FirebaseMessagingServiceonNewTokenメソッドが追加されました。
FirebaseMessagingServiceを継承したクラスでonNewTokenメソッドをオーバーライドします。

AndroidManifest.xml
<service android:name=".MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
MyFirebaseMessagingService.kt
class MyFirebaseMessagingService : FirebaseMessagingService() {
    override fun onNewToken(token: String?) {
        // tokenの処理
    }
}

任意のタイミングでのtokenの取得

任意のタイミングでtokenを取得する際はFirebaseInstanceId.getInstance().tokenを利用していましたが、これも非推奨になりました。
tokenを取得する方法は2種類あります。

val task = FirebaseInstanceId.getInstance().instanceId
task.addOnSuccessListener { token ->
        // tokenの処理
}
thread {
    val senderId = "123456789012"
    val token = FirebaseInstanceId.getInstance().getToken(senderId, "FCM")
}

senderIdはFirebaseのプロジェクト→設定→クラウドメッセージングの送信者IDという項目に書いてある12桁の数字です。
hoge.png

69
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
69
42

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?