我基本上想在同一个应用程序中在 iOS 的通知托盘中显示多个推送通知。
如果我的数据已打开,同时通过 APNS 触发推送通知,则此方案有效,但仅收到最新的数据,以防我离线并在一段时间后回来。此功能已得到 APNS 文档的确认。
然而,这在 WhatsApp 中是有效的:
- 关闭数据连接
- 向 WhatsApp 发送了一些消息
- 打开数据连接
- 在 Apple 的通知托盘中看到多个推送通知
这个场景是如何运作的?我可以为此使用 APNS 吗?如果是,那么如何?
See 微信中的多个推送通知。
就像您在问题中所写的那样,Apple 文档中提到了这一点:
如果您向同一设备发送多个通知或
计算机在短时间内,推送服务将发送
只有最后一个。
Link https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG23
The only您所描述的情况是,如果您的 WhatsApp 在后台打开,同时获取这些信息push notifications
。这样 WhatsApp 就会将它们处理为local notifications
并将全部显示在通知中心。如果 WhatsApp 关闭,您将只能像其他应用程序一样收到最后一条通知。
您可以轻松测试这一点:
- 终止 WhatsApp 并打开
Airplane mode
.
- 向您的设备发送 5 条消息(从 1 到 5)。
- Turn
Airplane mode
关闭并锁定您的设备。
- 您只会在您的邮件中看到一条消息(您发送的最后一条消息,即“5”)
notifications center
.
这就是 WhatsApp 的工作方式:
当 WhatsApp 在后台时,会收到一条推送通知(用户发送的最后一条通知,在我们的示例中为“5”)。该消息不会显示给用户。
WhatsApp 在方法中接收它application:didReceiveRemoteNotification:fetchCompletionHandler:
并检查其服务器是否存在用户未收到的“5”之前的任何通知。如果是这种情况,他们将从服务器中提取该数据并将其呈现给用户使用local notifications
这基本上只是一种呈现数据的方式,与 APNS 完全无关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)