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

在官方文档中,您可以find信息:

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

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

在这里输入图像说明

我想知道是否有官方的苹果声明推送通知的大小限制。 我testing了它,大于256字节,但文档说不应该。 有人可以确认或否认远程通知的大小?

苹果已经更新了文档。 最大有效载荷大小的2KB仅用于运行iOS 8的设备。 官方文档说:

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


根据更新的苹果文档大小是4KB。

  • 对于常规的远程通知,最大大小为4KB(4096字节)
  • 对于networking电话(VoIP)通知,最大大小为5KB(5120字节)

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

对于iOS 9,有一些变化:

HTTP / 2简介
有效载荷增加到4KB

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

检查这个官方的链接

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

  • 对于networking电话(VoIP)通知,最大大小为5KB (5120字节)

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

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

根据node-apn项目的testing,testing期间的大小从256扩大到2KB,我认为苹果可能没有更新文档来反映这个变化。 关于node-apn项目的讨论 。

编辑: 城市飞艇也更新了他们的后台2KB 。

根据最新的官方文档 ,有效负载限制是4096字节或2048字节的常规通知和5120字节的VoIP通知:

有效负载的最大大小取决于您发送的通知:

  • 对于常规的远程通知,最大大小为4KB(4096字节)
  • 对于networking电话(VoIP)通知,最大大小为5KB(5120字节)

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

在iOS 8之前,限制是256个字节。

  • 对于常规的远程通知 ,最大大小为4KB(4096字节)
  • 对于networking电话(VoIP)通知,最大大小为5KB(5120字节)

注意

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

Apple文档: https : //developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1