iOS - 根据切换值启用/禁用一组通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - 根据切换值启用/禁用一组通知相关的知识,希望对你有一定的参考价值。

我的ios应用程序中有很多通知可以放在组中:

  • 第1组:“事件” - > 2种通知
  • 第2组:“促销活动” - > 3种通知.....

在我的设置屏幕中,我为每个通知组都设置了一个开关。我想根据相应交换机的值启用禁用通知组:例如:事件开关已关闭,因此我不希望收到该组的2种类型的通知。

当应用程序在前台时,通过使用函数的completionHandler可以轻松处理:

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)

但是,当应用程序处于后台时,我无法找到阻止这些通知的方法。

我读过这个来处理这样的背景通知。我必须在我自己的服务器中存储每个用户的交换机的值,并根据服务器上的值发送或不发送通知。

这是正确的方法,或者我在我的应用程序中遗漏了一些东西。

答案

您无法与应用未处于活动状态时发送的通知进行互动,因为它们是按照这种方式设计的,因此会以任意方式接收这些通知。

您可以在应用程序处于活动状态时执行此操作,这实际上是针对开发人员允许他们在应用程序处于活动状态时使用自定义通知处理而不是过滤它们的方法。

处理这种情况的最佳方法是您提出的方法,后端应过滤要发送给用户的通知类型,并仅将这些通知发送给用户。

另一答案

是的,你是在正确的方式。您必须在后端存储开关值(开/关)并根据该值发送推送通知。

以上是关于iOS - 根据切换值启用/禁用一组通知的主要内容,如果未能解决你的问题,请参考以下文章

如何从应用程序 iOS 8 启用/禁用推送通知

如何在 iOS 中禁用/启用本地通知?

根据活动(即可见)片段以编程方式启用或禁用按钮

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

从设置应用程序 ios 获取推送通知启用/禁用事件?

在 iOS 设置中更改通知时,Amazon SNS 如何禁用/重新启用设备?