Swift 清除特定的远程通知
Posted
技术标签:
【中文标题】Swift 清除特定的远程通知【英文标题】:Swift Clear specific remote notifications 【发布时间】:2017-08-08 05:31:33 【问题描述】:我们目前正在开发一个 ios 应用程序。该应用程序应基本通知工作人员有关新事件/请求,并且工作人员可以选择取消或接受该事件(例如,客户问:“我想喝杯咖啡”,工作人员说:“好的,我“会做”或“对不起,做不到”)。这个想法是请求同时出现在多个智能手机上(来自多个工作人员),并且通知包含接受/拒绝按钮。
问题是我们想使用通知(远程)来解决这个问题。但有一件事我们并不清楚。假设我收到三个请求/通知。但在我有时间检查之前,其他工作人员已经解决了其中一个请求。是否有可能从所有工作人员的电话中清除/删除这个给定的请求?因为否则我正在处理一个已经解决的请求?
什么是解决它的最佳选择。
-
为每个请求推送远程通知
为每个请求推送静默通知,然后清除客户端上的所有通知,使用 REST (GET) 获取新/当前请求并为每个请求添加本地通知?
非常感谢您的帮助。
问候
【问题讨论】:
当两个人同时打开同一张票时会发生什么(在解决票之前)。 这将在我们的后端处理... 【参考方案1】:我认为第二个选项不错。
您可以在收到静默推送后使用 REST api 刷新数据。
【讨论】:
感谢您的反馈。所以你会主要使用本地通知,只使用静默推送通知来获取新数据和更新本地通知?是否只能一次清除应用程序的所有本地通知(使用徽章:0),或者也可以清除特定的通知(例如,仅那些已由其他工作人员解决的通知)? 是的,我使用它。不,它不可能通过设置徽章来清除,但您可以通过设置与前一个相同的标识符来覆盖它【参考方案2】:我认为最好的选择是使用静默通知,因为最终用户(应用程序持有者)不会对此有所了解,这对我们来说是最好的。
【讨论】:
您能更详细地解释一下这个想法吗?它与第二个选项有何不同?【参考方案3】:我会推荐第一个选项
为每个请求发送远程通知 处理来自后端的重复请求我认为第二个选项不可靠
APN 将静默通知视为低优先级,如果总数过多,可能会完全限制其传递。实际限制是动态的,可以根据情况而变化,但尽量不要每小时发送超过几个通知 - source
个人通知无法删除 - Check this:
【讨论】:
嗨 Shyam 感谢您的反馈。听起来很有道理。是否可以通过例如覆盖通知设置与上一个通知使用的标识符相同的标识符? @mooonli 我想你在这里期待 android 通知行为。我认为 iOS 推送通知在其有效负载中没有任何标识符。更多详情请查看apple doc以上是关于Swift 清除特定的远程通知的主要内容,如果未能解决你的问题,请参考以下文章