iOS推送通知: Best way to unregister push notification for user when they log out offline?

标签 ios objective-c push-notification

目前,我有一个 GET当用户离线注销时取消注册推送通知的方法。我将用户的设备 token 和 API key 发送到后端,这将取消注册用户并禁用推送通知。这很好用,但有一个问题。如果用户离线注销,这将不起作用。

我想出的唯一解决方案是保存 API key 和设备 token ,然后等到用户重新联机。然后,我将发送 API 请求。不确定这个解决方案有多好,但我想出的唯一一个可以工作。

编辑:我最担心的是在离线注销时取消注册推送通知,我没有在 StackOverflow 上看到过。是的,我可以在用户注销时取消注册推送通知,但在他们离线时不能。

编辑 2:通过取消注册,我的意思是让我的服务器知道不要发送推送通知。

最佳答案

除了您在问题中描述的内容外,我没有看到任何其他方式。我也会做的是调用UIApplication.shared.unregisterForRemoteNotifications() .这将停止向已注销用户的手机推送通知,但 不是 提醒您的服务器取消注册。 Apple 在他们的文档中声明,您可以在调用此方法后重新注册通知 here .

当另一个用户登录时,您重新注册推送通知并将设备 token 链接到他们的帐户。

关于iOS推送通知: Best way to unregister push notification for user when they log out offline?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068114/

相关文章:

iphone - 从 View Controller 获取当前选定选项卡的 selectedIndex

ios - Parse SDK 不需要调用dispatch_get_main_queue(),对吧?

php - 通过 objective-c 更新 MySQL

react-native - react native firebase 消息通知声音在后台不会改变

android - OneSignal - 基于标签发送通知

ios - iOS 中的区域监控和推送通知

ios - 如何在 Swift 中集成 Paytm 支付网关

ios - 如何在模拟器目录 (XCode 5) 中获取应用程序 ID (GUID)

ios - 在 swift 2.3 中访问类名

ios - UITableView 仅包含图像