FirebaseInstanceID Deprecated
implementation 'com.google.firebase:firebase-messaging:21.0.1'
Firebase-messaging을 21.0.1로 업그레이드를 시키니 Push Token을 받아오기 위해 사용했던 FirebaseInstanceID 클래스가 Deprecated 되었습니다😭
클래스 자체가 Deprecated 되었으므로 소스 전체의 변경이 필요했습니다
코드 변경하기
우선, 변경 전 FirebaseInstanceID가 import 되어있는 부분은 전부 삭제하고 진행했습니다.
기존에 쓰고 있던 코드는
public Task<InstanceIdResult> getInstanceId ()
위의 원형을 사용한 코드였는데, FirebaseInstanceId 이 페이지를 보시면 사용 용도에 따라서 변경해야 할 소스가 다름을 알 수 있습니다.
저는 FCM registration tokens을 위해 사용했기 때문에 FirebaseMessaging.getToken()을 대체해서 사용하도록 하겠습니다.
소스 변경하기
<기존>
FirebaseInstanceId.getInstance().getToken()?:""
<변경>
FirebaseMessaging.getInstance().token.addOnCompleteListener {
task ->
if(task.isSuccessful) {
var token = task.result?:""
}
}
변경된 클래스에서는 Listener를 통해 task의 result를 전달받습니다.
여기서 if(task.isSuccesful) 조건문이 들어가지 않으면
task is not yet complete 에러가 발생하므로 isSuccessful 조건문이 반드시 들어가야합니다
FirebaseInstanceID Deprecated에 대한 내용은 여기까지 입니다
더 자세한 정보가 궁금하신 분은 공식 문서를 참조하시길 바랍니다! :)
궁금하신 점이나 의견이 있으시면 댓글 부탁드립니다 감사합니다 😊
'📱 Android' 카테고리의 다른 글
[Android] RecyclerView (1) - Multi ViewHolder (0) | 2021.05.15 |
---|---|
[Android] SharedPreference에 ArrayList, HashMap 저장하기 (0) | 2021.03.24 |
[Android] OS 점유율 & minSdkVersion (0) | 2021.01.27 |
[Android] SharedPreferences 사용하기 (0) | 2021.01.19 |
[Android] Notification (0) | 2021.01.04 |