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

时间:2014-10-07 10:17:29

标签: ios push-notification apple-push-notifications

official documentation中,您可以找到信息:

  

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

然而,在WWDC 14中我们可以看到这个截图:

enter image description here

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

5 个答案:

答案 0 :(得分:61)

Apple已经更新了文档。最大有效负载大小的2KB仅适用于运行iOS 8的设备。official doc表示:

  

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


根据更新的Apple docs,大小为4KB。

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

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

答案 1 :(得分:30)

对于iOS 9,有一些变化:

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

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

选中此official link

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

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

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

  •   

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

答案 2 :(得分:3)

根据来自node-apn项目的测试,在测试期间,大小从256扩展到2KB,我认为Apple可能没有更新他们的文档来反映这一变化。 The discussion on the node-apn project

修改:Urban Airship also updated their backend for 2KB as well

答案 3 :(得分:2)

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

注意

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

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

答案 4 :(得分:1)

根据最新的official documentation,常规通知的有效负载限制为4096字节或2048字节,VoIP通知的有效负载限制为5120字节:

  

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

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

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

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