2013-03-24 68 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