본문 바로가기
📱 Android

[Android] FirebaseInstanceID Deprecated

by 콩드로이드 2021. 3. 8.

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에 대한 내용은 여기까지 입니다

 

더 자세한 정보가 궁금하신 분은 공식 문서를 참조하시길 바랍니다! :)

 

 

궁금하신 점이나 의견이 있으시면 댓글 부탁드립니다 감사합니다 😊