我的iOS应用程序中有很多通知可以放在组中:
在我的设置屏幕中,我为每个通知组都设置了一个开关。我想根据相应交换机的值启用禁用通知组:例如:事件开关已关闭,因此我不希望收到该组的2种类型的通知。
当应用程序在前台时,通过使用函数的completionHandler可以轻松处理:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
但是,当应用程序处于后台时,我无法找到阻止这些通知的方法。
我读过这个来处理这样的背景通知。我必须在我自己的服务器中存储每个用户的交换机的值,并根据服务器上的值发送或不发送通知。
这是正确的方法,或者我在我的应用程序中遗漏了一些东西。
您无法与应用未处于活动状态时发送的通知进行互动,因为它们是按照这种方式设计的,因此会以任意方式接收这些通知。
您可以在应用程序处于活动状态时执行此操作,这实际上是针对开发人员允许他们在应用程序处于活动状态时使用自定义通知处理而不是过滤它们的方法。
处理这种情况的最佳方法是您提出的方法,后端应过滤要发送给用户的通知类型,并仅将这些通知发送给用户。
是的,你是在正确的方式。您必须在后端存储开关值(开/关)并根据该值发送推送通知。