我试图为用户强制创建一个新的令牌,但它不起作用。
- 旧代币仍然有效
- 新令牌不起作用
我遗漏了什么吗?我关注了其他Stack问题,大多数都是过时的,新的都不正确。
Firebase SDK 7.11.0
Installations.installations().delete { error in
debugPrint("InstallationsDEL Installations delete: nERROR: (error)")
Installations.installations().authTokenForcingRefresh(true) { result, error in
debugPrint("InstallationsDEL Installations authTokenForcingRefresh: nERROR: (error) nResult: (result)")
Messaging.messaging().deleteToken { error in
print("InstallationsDEL Messaging.messaging().deleteToken: ERROR: (error)")
Messaging.messaging().token { token, error in
debugPrint("InstallationsDEL Messaging.messaging().token: (token) nnerror: (error)")
print("")
}
}
}
}
这是一个有点晚的响应,但可能会对某人有所帮助:
FirMessaging功能
- (void)deleteTokenWithCompletion:(FIRMessagingDeleteFCMTokenCompletion)completion
允许您删除默认的FCM注册令牌。所以使用Swift的
Messaging.messaging().deleteToken(completion: @escaping(Error?) -> Void)
例如
Messaging.messaging().deleteToken { error in
.
.
.
}
您实际上可以强制Firebase刷新令牌。要检索新的,只需调用
let token = try await Messaging.messaging().token()
从设备中删除应用程序,然后从Xcode中重新运行。
然后它会给你一个新的FCM代币。
无需从代码中强制执行。