APN(Apple推送通知)有效负载大小限制

Jak*_*kub 38 push-notification apple-push-notifications ios

官方文档中,您可以找到以下信息:

每个推送通知包括有效载荷.有效负载包含有关系统应如何提醒用户以及您提供的任何自定义数据的信息.通知有效负载允许的最大大小为256字节 ; Apple推送通知服务拒绝任何超出此限制的通知.

但是在WWDC 14中我们可以看到这个截图:

在此输入图像描述

我想知道苹果公司是否有关于推送通知大小限制的正式声明.我测试了它,并且更大的256字节工作,但文档说它不应该.有人可以确认或否认远程通知的大小吗?

小智 66

Apple已经更新了文档.最大有效负载大小的2KB仅适用于运行iOS 8的设备.官方文档说:

在iOS 8及更高版本中,通知有效负载允许的最大大小为2千字节; Apple推送通知服务拒绝任何超出此限制的通知.(在iOS 8和OS X之前,最大有效负载大小为256字节.)


根据更新的Apple文档,大小为4KB.

  • 对于常规远程通知,最大大小为4KB(4096字节)
  • 对于互联网协议语音(VoIP)通知,最大大小为5KB(5120字节)

如果您使用旧版APNs二进制接口发送通知而不是HTTP/2请求,则最大有效负载大小为2KB(2048字节)

  • @Ganesh - 实际上,亚历杭德罗最初提出的观点是,按照国际标准(参见他的维基链接),"2KiB"表示2048字节,"2KB"表示2000字节.然而,在实践中,`KB`已被如此普遍地使用,在计算机软件中如此长时间,意味着1024,这两种方式都是不安全的.我自己不遵守那个标准,很难打破几十年的习惯,所以我不能抱怨;) (2认同)

Raj*_*ari 30

对于iOS 9,有一些变化:

HTTP/2 Payload的引入
增加到4KB

4 KB限制适用于所有版本的iOS和OS 10

查看此官方链接

  • 对于常规远程通知,最大大小为4KB(4096字节)

  • 对于互联网协议语音(VoIP)通知,最大大小为5KB(5120字节)

  • 如果您使用旧版APNs二进制接口发送通知而不是HTTP/2请求,则最大有效负载大小为2KB(2048字节)

查看此视频链接,了解有关HTTP/2 https://developer.apple.com/videos/play/wwdc2015-720/功能的更多详细信息