目前,我有一个 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/