Niv*_*esh 3 objective-c ios firebase firebase-cloud-messaging
我第一次获得FCM并将其保存到我的userDefaults.现在当用户注销时,如何再次刷新FCM令牌?我搜索了文档和许多其他问题,但没有找到更好的解决方案.
提前致谢.
Art*_*son 17
FCM令牌是一个实例ID令牌,它代表已安装的应用程序,而不是已登录的用户.通常,一旦应用程序保持安装,无论用户登录什么,它都将具有相同的令牌.
您必须自己管理与令牌关联的用户.当用户登录时,您应该将令牌与用户的ID相关联,当用户注销时,您应该删除该关联.
要(强制)获取新的刷新的 FCM 令牌,首先必须将其删除,然后再次请求 FCM 令牌。一旦删除后,它总是会提供一个新的令牌。
要删除已保存的令牌:
FirebaseMessaging.getInstance().deleteToken()
Run Code Online (Sandbox Code Playgroud)
请求 FCM 令牌:
Firebase.messaging.isAutoInitEnabled = true
// Get token
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
//On token fetch fail
if (!task.isSuccessful) {
//msg_token_failed
Log.e("Token failed", task.exception)
return@OnCompleteListener
}
// Get new Instance ID token
val newDeviceToken = task.result
Log.e("newDeviceToken", newDeviceToken)
})
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您可以在注销时删除 FCM 令牌,并在登录时再次请求它。它会起作用的。
| 归档时间: |
|
| 查看次数: |
5563 次 |
| 最近记录: |