每个推送通知都包含一个有效载荷。有效载荷包含有关系统如何向用户发出警报以及您提供的任何自定义数据的信息。通知有效负载的最大大小为256字节; Apple Push Notification Service拒绝任何超过此限制的通知。
然而,在WWDC 14中,我们可以看到这张屏幕截图:
我想知道是否有任何官方的苹果声明关于推送通知的大小限制。我进行了测试,比256字节大的也能正常工作,但是文档说不应该。有人可以确认或否认远程通知的大小吗?
每个推送通知都包含一个有效载荷。有效载荷包含有关系统如何向用户发出警报以及您提供的任何自定义数据的信息。通知有效负载的最大大小为256字节; Apple Push Notification Service拒绝任何超过此限制的通知。
然而,在WWDC 14中,我们可以看到这张屏幕截图:
我想知道是否有任何官方的苹果声明关于推送通知的大小限制。我进行了测试,比256字节大的也能正常工作,但是文档说不应该。有人可以确认或否认远程通知的大小吗?
苹果已经更新了文档。2KB的最大有效载荷大小仅适用于运行iOS 8的设备。 官方文档 说明:
在 iOS 8 及更高版本中,通知有效负载允许的最大大小为 2 千字节;Apple 推送通知服务拒绝超过此限制的任何通知。(在 iOS 8 之前和 Mac OS X 中,最大有效负载大小为 256 字节。)
根据更新的 Apple 文档,大小为4KB。
如果您使用传统的APNs二进制接口而不是HTTP / 2请求发送通知,则最大有效载荷大小为2KB (2048字节)
KiB
(https://en.wikipedia.org/wiki/Kibibit)等于1024字节。但无论如何,我们都知道苹果会搞乱这些定义(他们可能在软件术语中使用1024个字节作为千字节,但在设备存储大小上使用1000)。 - Alejandro Iván2KiB
表示2048字节,而2KB
表示2000字节。然而,在实践中,KB
在计算机软件中已经被广泛使用了很长时间,意思是1024,因此无法安全地假设哪种方式是正确的。我自己也不遵守这个标准,难以打破几十年的习惯,所以我不能抱怨 ;) - ToolmakerSteveiOS 9有一些变化:
引入HTTP/2
负载增加到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/
注意
如果您使用遗留的APNs二进制接口发送通知而不是HTTP/2请求,则最大有效负载大小为2KB(2048字节)
在iOS 8之前,限制为256字节。负载的最大大小取决于您发送的通知类型:
- 对于常规远程通知,最大大小为4KB(4096字节)
- 对于VoIP(Voice over Internet Protocol)通知,最大大小为5KB(5120字节)
注意:如果您使用传统的APNs二进制接口而不是HTTP/2请求发送通知,则最大负载大小为2KB(2048字节)。