Android开发报错Unresolved reference: FirebaseInstanceId相关问题咨询
FirebaseInstanceId 废弃报错修复方案
FirebaseInstanceId 已在Firebase Messaging 21.0.0及以上版本中正式废弃并移除,你遇到的Unresolved reference: FirebaseInstanceId报错就是该类被移除导致的,可按如下步骤修复:
- 第一步:替换导入语句
删除原有无效导入:
import com.google.firebase.iid.FirebaseInstanceId
替换为FirebaseMessaging的导入:
import com.google.firebase.messaging.FirebaseMessaging
- 第二步:修改获取FCM Token的业务逻辑
原有getFCMToken方法的实现替换为如下代码:
private fun getFCMToken() { FirebaseMessaging.getInstance().token.addOnSuccessListener { token -> presenter.sendFCMToken(token) } }
如果业务需要监听Token的刷新事件,原有配套的FirebaseInstanceIdService也已同步废弃,需要继承FirebaseMessagingService重写onNewToken方法实现监听逻辑:
class MyFirebaseMessagingService : FirebaseMessagingService() { override fun onNewToken(token: String) { super.onNewToken(token) // 此处处理新token的上报逻辑 presenter.sendFCMToken(token) } }
内容的提问来源于stack exchange,提问作者Tpzoglu
相关产品推荐
相关产品推荐

