【问题标题】:How to filter ios push notifications before appear如何在出现之前过滤ios推送通知
【发布时间】:2015-12-11 08:56:54
【问题描述】:
退出应用后需要隐藏 iOS 推送通知。当网络连接可用时,我可以通过向服务器发送注销消息来处理此问题。
但是如果用户在网络连接不可用时按下注销按钮,则无法将注销消息发送到服务器。如果应用程序正在运行,应用程序可以排队并发送注销消息。
但如果用户在网络连接不可用时按下注销按钮后退出应用程序,并重新连接到互联网,它仍然会收到通知。有什么方法可以处理这种情况吗?
【问题讨论】:
标签:
ios
objective-c
swift
push-notification
apple-push-notifications
【解决方案1】:
你可以使用
[[UIApplication sharedApplication]unregisterForRemoteNotifications];
按下退出按钮后。
【解决方案2】:
SWIFT
func unregisterForRemoteNotifications()
目标-C
- (void)unregisterForRemoteNotifications
讨论
您应该仅在极少数情况下调用此方法,例如当应用程序的新版本不再支持远程通知时。用户可以通过设置应用程序的通知部分暂时阻止应用程序接收远程通知。通过此方法取消注册的应用程序始终可以重新注册。
您的服务器没有收到通知,只是当您调用该函数时,向您的服务器发送一个数据包并假设操作成功。您还应该在服务器上处理此类问题,强制使用户会话过期并从推送服务中注销他(假设您有适当的后端)