每当我从Facebook收到关于我的iPhone上的消息的通知并且我从Facebook网站回复该消息时,该推送通知就会离开我的iPhone主屏幕。 Facebook如何做到这一点?我知道推送通知在iOS中没有交付确认机制。在这种情况下,Facebook知道我已经阅读了这条消息,所以他们正在向他们的应用推送一些内容以删除通知吗?即使他们正在向他们的应用发送消息,我已经阅读了此消息,当我没有为FB messenger或FB iOS应用启用后台应用刷新时,app如何删除该通知。
答案 0 :(得分:4)
您所做的就是在您发送了要移除的通知后,您发送了一条通知,其中包含消息=""和徽章= 0。我刚刚在节点js应用程序中对此进行了测试,它就像你说的那样删除了之前的通知。
答案 1 :(得分:1)
自我测试后,SnoApps的答案是正确的。我在下面描述的测试假设iPhone上的帐户是A。
测试1: - 从B发送消息1到A => iPhone上显示的通知 - 在桌面上读取消息1 => iPhone上的通知消失了
测试2: - 从B发送消息1到A => iPhone上显示的通知 - 从C发送消息2到A =>另一个通知显示 - 在桌面上读取消息1 =>这两个通知仍然存在 - 在桌面上读取消息2 =>两个通知都消失了
我测试了WhatsApp和WeChat,所有这些都使用类似的方式来做到这一点,即当未读消息的服务器数量变为0时,向iPhone发送带有空体和徽章0的无声通知。 iOS将为您清除横幅。