我正在更新项目中firebase消息传递中的依赖项,发现FirebaseInstanceId.getInstance().instance
已不再使用。
在onsuccesslistener中的MessagingService中,我从以下位置获得了两个字符串:
fun initFB() {
synchronized(MyFirebaseMessagingService.TAG) {
FirebaseInstallations.getInstance().id.addOnSuccessListener { result ->
coroutineScope.launch(dispatcher) {
try {
SP.firebaseInstanceId = result.id
SP.firebaseToken = result.token
} catch (e: Exception) {
// sth...
}
}
}
}
}
现在我有了这个新方法。
FirebaseMessaging.getInstance().token.addOnSuccessListener { result ->
newtoken = result
}
我正在将这些id和令牌发送到SharedPreferences。我如何用这个新的密码检索id?
根据文档。
此方法已被弃用。请改用FirebaseInstallations.getId((。
编辑:
private fun verifyTokenUpdate() {
val fcmId = FirebaseInstallations.getInstance().id
val fcmToken = FirebaseMessaging.getInstance().token
fcmToken.addOnSuccessListener { tokenString ->
val sharedPreferencesSession = getSharedPreferences("Session", Context.MODE_PRIVATE)
if (sharedPreferencesSession.getString("FCMToken", "") != tokenString) {
fcmId.addOnSuccessListener { newId ->
registerNewToken(tokenString, newId)
}
}
}
}