温馨提示:本文翻译自stackoverflow.com,查看原文请点击:swift - How to automatically delete push notifications from iOS notification centre at a specific time?
apple-push-notifications ios iphone swift

swift - 如何在特定时间自动从iOS通知中心删除推送通知?

发布于 2020-04-30 11:53:40

我正在使用具有推送通知功能的Swift开发iOS应用程序。该应用程序通过推送通知(此处使用APNS)向用户发送生日提醒通知。

当前,推送通知将保留在设备的通知中心中,直到用户点击该通知或选择从设备中清除该通知为止。

现在,我正在寻找一种在每天结束时自动删除该推送通知的方法,因为无需在设备中显示过去一天的生日通知。

有人可以建议我以哪种方式可以实现此目的的解决方案?是否可以在没有任何用户交互的情况下从iOS删除通知?

提前致谢。

查看更多

提问者
dm_mobile
被浏览
25
Hitendra Solanki 2019-04-16 14:25

@dm_mobile您的问题是100%有效。


为了自动从通知中心删除特定的通知, -您不能从iOS端执行此操作,除非并且除非用户与该通知进行交互-但是,您可以从服务器端执行此操作,让我告诉您如何


如何以编程方式从通知中心删除通知? 当服务器使用APNS终结点通过APNS服务器向您发送任何通知时,APNS将向您返回一些数据作为有效负载,您将apns-id在响应标头中获得通知标识符作为

将该apns-id存储在服务器端的数据库表中。

在一天结束或具有特定条件的情况下,您可以通过传递apns-id请求标头中值,向APNS发送另一个请求,从而从设备的通知中心删除该通知

Skype正在做同样的事情。

请阅读以下内容以获取更多详细信息:https : //developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#//apple_ref/doc/uid/TP40008194-CH11-SW1