当我在 FB 桌面上看到消息时,FB messenger 如何从 iOS 应用程序中删除推送通知?

How does FB messenger removes push notification from iOS app when I see the message on FB Desktop?

每当我在我的 iPhone 上收到来自 Facebook 的消息通知并且我从 Facebook 网站回复该消息时,该推送通知就会从我的 iPhone 主屏幕上消失。 Facebook 是怎么做到的?我知道推送通知在 iOS 中没有送达确认机制。在这种情况下,Facebook 知道我已经阅读了消息,所以他们是否向他们的应用程序推送内容以删除通知?即使他们向他们的应用程序发送一条消息,我已经阅读了这条消息,但当我没有为 FB Messenger 或 FB iOS 应用程序启用后台应用程序刷新时,应用程序如何删除该通知。

您要做的是在发送要删除的通知后,发送一条消息为“”且徽章为 0 的通知。我刚刚在节点 js 应用程序中对此进行了测试,它删除了您所说的先前通知。

经过如下测试,SnoApps 的回答是正确的。我在下面描述的测试假设 iPhone 上的帐户是 A.

测试 1: - 从 B 向 A 发送消息 1 => iPhone 上显示的通知 - 在桌面上读取消息 1 => iPhone 上的通知已消失

测试 2: - 从 B 向 A 发送消息 1 => iPhone 上显示的通知 - 将消息 2 从 C 发送到 A => 显示另一个通知 - 在桌面上读取消息 1 => 两个通知仍然存在 - A 在桌面上读取消息 2 => 两个通知都消失了

我测试了 WhatsApp 和微信,它们都使用类似的方式来做到这一点,即当未读消息的服务器计数变为 0 时,发送一个带有空正文和徽章 0 的静默通知到 iPhone . iOS 将为您清除横幅。