关闭推送通知
Posted
技术标签:
【中文标题】关闭推送通知【英文标题】:Turning off push notifications 【发布时间】:2017-05-10 05:43:02 【问题描述】:ios 移动应用程序中有什么方法可以在应用程序本身中提供一个按钮来关闭来自应用程序的推送通知(我正在使用 Swift 语言进行编程)。 任何帮助都会非常有帮助。
【问题讨论】:
用服务器端做 从服务器端处理。进行 API 调用以在按钮更改操作时从服务器端将其关闭 注册和注销推送通知。这将阻止显示推送通知。iOS setting app
已经提供了这个。您应该更喜欢它而不是在您的应用程序中提供按钮!这是真正的用户体验!无需在您的应用中提供单独的按钮!
如果您只想禁用少量通知或说想要自定义通知,则可能需要调用后端 API
【参考方案1】:
您可以在远程通知开/关切换按钮上从服务器中删除/设置设备令牌
【讨论】:
【参考方案2】:推荐方法:尝试从后端处理。将来会有所帮助。
解决方案:您可以使用unregisterForRemoteNotifications
。此功能用于注销 Apple Store 中的所有通知。同样,当您想打开推送通知时,您可以使用registerForRemoteNotifications
注册
如果您不知道如何注册/取消注册,您需要这样做。
UIApplication.shared.unregisterForRemoteNotifications()
UIApplication.shared.registerForRemoteNotifications()
【讨论】:
【参考方案3】:[[UIApplication sharedApplication] unregisterForRemoteNotifications];
【讨论】:
请看How to Answer【参考方案4】:您应该在服务器端实现禁用推送通知。苹果文档说你应该打电话
[[UIApplication sharedApplication] unregisterForRemoteNotifications];
仅当您不再在应用程序中提供通知时。 Link
另一方面,iOS8 提供 API 来打开 Settings.app,用户可以在其中使用开关控制禁用您的应用的通知。使用示例:
if (&UIApplicationOpenSettingsURLString != NULL)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
【讨论】:
【参考方案5】:你可以从你的服务器端管理它,为它创建一个 API。根据我,这是最好的解决方案。 否则,您可以从 APN 或打开应用设置中注销您的设备并让用户将其关闭。
【讨论】:
以上是关于关闭推送通知的主要内容,如果未能解决你的问题,请参考以下文章