通知服务扩展 - 隐藏以前的通知

Notification service extension - hide previous notifications

例如,仅以这种格式显示通知的消息传递应用程序:You have X new messages

当用户收到消息时,应用会显示一条通知:You have 1 new message

当它收到第二条消息时,将显示一条新通知:You have 2 new messages

理想情况下,收到第二条通知后,第一条应该是cancelled/hidden,因为用户只有2条新消息,而不是1+2条。

如果使用 UserNotifications 在本地显示通知,要解决此问题,您只需在为两个通知创建 UNNotificationRequest 时使用相同的标识符即可。

有没有办法在使用通知服务应用程序扩展时实现相同的目的?

这可以通过修改服务器端的通知来完成。您可以设置名为 apns-collapse-id 的 header。有关如何执行此操作的更多信息,请参阅 Apple article

所有具有相同 header 的通知将被合并 - 也就是说,只会显示最新的通知,之前的通知将消失。