2013-03-24 67 views
12

我正在使用APNS python包装库来发送推送通知。 Apple文档说消息的有效负载限制是256字节。但是由于可以在一个请求中发送多个PN,我想知道在同一个请求中允许的消息数是否有限制?iOS:单个请求中可以发送多少个推送通知?

发送大量(1000+)推送通知的正确方法是什么? Apple服务器是否限制连接数/秒或PNs /秒以避免垃圾邮件?

+4

苹果不会限制通知/秒。根据我的经验,您可以在一个连接上发送大约2000个通知/秒,这接近我使用的服务器的物理限制。界面是二进制的,你必须一次发送一个通知。因此,每个请求1个通知,但每个连接的“无限制”。 – 2013-03-24 17:36:30

+0

我们是否在讨论'frame'中有多少个'items'? - APNS术语 - https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html - 我也很好奇。 – 2015-09-30 21:43:13

回答

10

正如乔纳森在他的评论中所说的,苹果公司没有在APNS文件中规定限制。

由于您通过TCP连接将通知作为二进制数据发送,所以在单个请求中发送的通知数量取决于TCP缓冲区的大小。

您不必为每个请求发送一个通知。在这种情况下,我不确定单词请求这个词有什么意义(因为它们不会为每个发送的通知返回一个响应)。 Apple鼓励您尽可能保持连接畅通。只要它是开放的,您可以根据需要写入尽可能多的字节(属于多个推送通知)。

编辑:

苹果最近编辑自己technical note regarding push notifications

推送通知吞吐量和错误检查

没有盖子或使用APN的批量大小的限制。 iOS 6.1 新闻稿称,自成立以来,APN已发送超过4万亿次推送 通知。它在WWDC 2012 上宣布,APN每天发送70亿个通知。

如果您看到吞吐量低于每秒9,000个通知,那么您的服务器可能会受益于改进的错误处理逻辑。

+0

在我的情况下,我使用eJabebrD服务器,并配置APNS的情况下,如果用户处于脱机状态。我的问题是有多少消息APNS服务器可以缓冲。 也像GCM如何提供message_type,但APNS它没有这种情况。那么如果缓冲区满了,肯定会丢弃其他类型的消息。对 ?? – CoDe 2016-07-18 08:01:29