Android Kotlin - FirebaseMessagingService получить токен? - PullRequest
1 голос
/ 13 марта 2020

Это код:

class LatestFirebaseMessagingService : FirebaseMessagingService() {
    override fun onNewToken(token: String) {
        super.onNewToken(token)

        Log.d("pikabo", token)
    }

    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        super.onMessageReceived(remoteMessage)
    }
}

Манифест:

    <service
        android:name=".classes.LatestFirebaseMessagingService"
        android:stopWithTask="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

Я не получил токен ни разу!!

Наверное, я его инициализировал правильно, потому что

val reliableIdentifier: String = FirebaseInstanceId.getInstance().id

В работе работает

Чего мне не хватает ??

1 Ответ

0 голосов
/ 13 марта 2020

Правильный способ получить токен firebase - использовать addOnCompleteListener, как показано ниже

 FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { task ->
        if (task.isSuccessful)
            print(task.result?.token)
        else
            print(task.exception?.message)
 }

Посмотрите официальную документацию

...