iOS:如果之前启用,则禁用远程通知

Posted

技术标签:

【中文标题】iOS:如果之前启用,则禁用远程通知【英文标题】:iOS: Disabling remote notifications if previously enabled 【发布时间】:2016-07-20 18:16:10 【问题描述】:

一旦用户启用或禁用远程通知,是否必须将其发送到设置以更改该决定(如果禁用则启用,反之亦然)?我们想在应用程序中提供一个开关,他们可以在其中打开和关闭推送通知……但我真的不认为这是可能的。

【问题讨论】:

您可以告诉服务器在他们关闭应用中的开关时停止向他们发送推送通知。它不会对他们在系统设置中对您的应用的设置产生任何影响。 【参考方案1】:

首先,您不能在应用内启用和禁用推送通知。

您可以使用以下代码检查用户设置启用或禁用推送通知。

但是您可以通过在您的服务器中为启用推送的用户添加开关和过滤来管理它。就像如果您想在应用程序内部进行操作,则使用一个标识符(或布尔值)并根据推送通知启用和禁用切换器将其发送到服务器。因此,您的服务器端编码使用此标识符并根据该标识符工作。就像标识符一样,它是启用的,否则您的服务器将发送通知,否则不会。

希望对你有所帮助..

【讨论】:

【参考方案2】:

更新服务器上的状态并在切换按钮按下(开/关)时调用以下方法

[[UIApplication sharedApplication] unregisterForRemoteNotifications
[[UIApplication sharedApplication] registerForRemoteNotifications];

参考以下链接

more about unregister Apple doc

【讨论】:

以上是关于iOS:如果之前启用,则禁用远程通知的主要内容,如果未能解决你的问题,请参考以下文章

启用和禁用远程通知

如果应用程序被强制退出,则处理 IOS 远程通知

不显示基于自定义数据的远程通知

APNS:如果应用程序被强制退出,则接收静默远程通知

iOS 在收到静默远程通知后发送本地通知

iOS推送通知和远程通知的区别?