知道 iOS 通知是不是被关闭

Posted

技术标签:

【中文标题】知道 iOS 通知是不是被关闭【英文标题】:Know if iOS notification was dismiss知道 iOS 通知是否被关闭 【发布时间】:2015-08-10 21:13:08 【问题描述】:

有什么方法可以知道本地通知是否从通知中心消失(例如通过按 x 按钮)?

是否可以获得通知中心当前可见的所有通知的列表?

【问题讨论】:

【参考方案1】:

不,不可能从 Apple 的任何 API 获取通知列表。 不,没有来自忽略/关闭通知的反馈。

如果你想实现这样的逻辑,我建议基于你自己的服务器构建这种类型的逻辑。

    当您发送通知时,您会将相关信息保存在服务器端。 当您从通知中打开应用程序(它是可行的)时,您会将信息发送到服务器端。 当您不是通过通知打开应用程序时,您可以在服务器端设置一个逻辑来检查是否有任何通知在您上次打开应用程序时未被确认。

请记住,通知并不总是会传递 - 不能保证用户会收到它们,并且如果使用为您的应用程序关闭了通知 - 所有通知都将被视为忽略。 为了改进该逻辑,您可能希望将有关通知的用户权限的信息发送到您的服务器 - 这仍然不能保证他没有在设置中禁用它们:(

长话短说 - 永远不要基于通知构建任何应用程序核心功能。

【讨论】:

它不准确 - 因为不是所有从服务器发送的通知都会被手机接收(如果手机关闭,例如它不会传递),服务器不会在这种情况下获得推送从未交付的反馈。 这是真的@MartinH,但没有更好的方法来实现接近它的东西。如果他想跟踪人们没有看到或忽略通知 - 应该足够好了。我将编辑答案以澄清这一点

以上是关于知道 iOS 通知是不是被关闭的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 推送通知:它是不是总是显示通知

应用程序被杀死/关闭/未打开时的 IOS 推送通知操作

Xamarin.iOS - 设备关闭时推送通知

ios swift使用啥推送通知? [关闭]

从 NotificationContentExtention 关闭 IOS 通知

iOS“本地”推送通知[关闭]