안드로이드를 통한 FCM 토큰 확보

현재 영패를 획득하는 방법은 두 가지가 있습니다.
자바가 개발한 Kotlin을 사용하지만 Coroutine을 가져오지 않은 경우 전자, Kotlin, Coroutine을 사용한 경우 후자를 추천하는 방법.

반송


On CompuleteListener를 통해 콜백으로 받을 수 있습니다.
FirebaseInstanceId.getInstance().instanceId
    .addOnCompleteListener { task ->
        if (!task.isSuccessful) {
            return@addOnCompleteListener
        }
        val token = task.result?.token
    }

Coroutine


Kotlin Coroutine과kotlinx-coroutines-play-services 라이브러리를 활용하면 리스트를 거치지 않고 취득할 수 있다.module/build.gradle에 dependency를 추가합니다.
버전의 확인은여기.입니다.
dependencies {
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$version"
}
Task에 확장 함수suspend fun await()가 추가되었다.
따라서 Coroutine Scape 내에서 수행해야 합니다.
GlobalScope.launch {
    val token = FirebaseInstanceId.getInstance().instanceId.await().token
}
kotlinx-coroutines-play-services는 FCM 이외에 Auth와 Cloud Firestore에서도 사용할 수 있다.

좋은 웹페이지 즐겨찾기