在通知托盘中看不到Apple多推通知

Gee*_*eek 5 push-notification apple-push-notifications ios apns-php

我基本上想要在iOS中的通知托盘中显示的同一应用程序中进行多个推送通知.

如果我的数据在通过APNS触发推送通知时打开,则此方案有效,但在我离线并且稍后返回时仅收到最新的数据.APNS文档确认了此功能.

但是,这在WhatsApp中有效:

  1. 关闭数据连接
  2. 向WhatsApp发送了一些消息
  3. 打开数据连接
  4. 看到Apple的通知托盘中收到多个推送通知

这种情况如何运作?我可以使用APNS吗?如果是,那怎么样?

请参阅微信中多个推送通知的示例图像.

Seg*_*gev 5

就像您在问题中写的那样,Apple Docs中提到了这一点:

如果您在短时间内向同一台设备或计算机发送多个通知,推送服务将仅发送最后一个.

链接

您所描述的唯一情况是,如果您的whatsApp在后台打开时获得了那些push notifications.这样whatsApp将处理它们local notifications并将在通知中心中呈现所有这些.如果whatsApp已经关闭,那么您只会获得最后一个通知,就像任何其他应用程序一样.

你可以轻松测试这个:

  1. 终止whatsApp并打开Airplane mode.
  2. 向您的设备发送5条消息,从1到5.
  3. 关闭Airplane mode关闭并锁定您的设备.
  4. 你只会看到一个msg(你发送的最后一个,也就是"5")notifications center.

这就是whatsApp使它工作的方式:

当whatsApp在后台时,会收到一个推送通知(用户发送的最后一个,在我们的示例中为"5").该消息不会向用户显示.

application:didReceiveRemoteNotification:fetchCompletionHandler:如果用户没有收到"5"之前的任何通知,whatsApp会在方法中接收它并检查其服务器.如果是这种情况,他们将从他们的服务器中提取数据,并将其呈现给用户,local notifications这基本上只是一种呈现数据而与APNS无关的方式.