公式ドキュメント で情報を見つけることができます:
各プッシュ通知にはペイロードが含まれます。ペイロードには、システムがユーザーに警告する方法に関する情報と、提供するカスタムデータが含まれます。通知ペイロードに許可される最大サイズは、256バイトです。 Appleプッシュ通知サービスは、この制限を超える通知を拒否します。
ただし、WWDC 14では、次のスクリーンショットを見ることができます。
プッシュ通知のサイズ制限に関する公式のAppleステートメントがあるかどうか疑問に思います。それをテストし、256バイト以上で動作しますが、ドキュメントはそれを行うべきではありません。リモート通知のサイズ?
Appleはすでにドキュメントを更新しています。最大ペイロードサイズの2KBは、iOS 8を実行しているデバイス用です。 official doc によると:
IOS 8以降では、通知ペイロードに許可される最大サイズは2キロバイトです。 Appleプッシュ通知サービスは、この制限を超える通知を拒否します。iOS8およびOS Xでは、最大ペイロードサイズは256バイトです。)
更新された Apple docs サイズは4KBです
HTTP/2リクエストの代わりにレガシーAPNsバイナリインターフェイスを使用して通知を送信する場合、最大ペイロードサイズは2KB(2048バイト)です
IOS 9では、いくつかの変更があります。
HTTP/2の紹介
ペイロードが4KBに増加しました
iOSおよびOS 10のすべてのバージョンに4 KBの制限が適用されます
これを確認してください 公式リンク
通常のリモート通知の場合、最大サイズは4KB(4096バイト)
Voice over Internet Protocol(VoIP)通知の場合、最大サイズは5KB(5120バイト)
レガシーAPNsバイナリインターフェイスを使用してHTTP/2リクエストの代わりに通知を送信する場合、最大ペイロードサイズは2KB(2048バイト)
HTTP/2の機能に関する詳細については、このビデオリンクを確認してください
https://developer.Apple.com/videos/play/wwdc2015-720/
Node-apnプロジェクトのテストによると、サイズはベータ期間中に256から2KBに拡張されました。おそらく、Appleはこの変更を反映するためにドキュメントを更新していません。 node-apnプロジェクトに関する議論 。
編集: 都市飛行船もバックエンドを2KBに更新しました 。
[〜#〜] note [〜#〜]
HTTP/2リクエストの代わりにレガシーAPNsバイナリインターフェイスを使用して通知を送信する場合、最大ペイロードサイズは2KB(2048バイト)です
最新の 公式ドキュメント によると、ペイロード制限は4096バイトまたは通常通知の場合は2048バイト、VoIP通知の場合は5120バイトです。
ペイロードの最大サイズは、送信する通知によって異なります。
- 通常のリモート通知の場合、最大サイズは4KB(4096バイト)です
- Voice over Internet Protocol(VoIP)通知の場合、最大サイズは5KB(5120バイト)です
注:HTTP/2要求の代わりにレガシーAPNバイナリインターフェイスを使用して通知を送信している場合、最大ペイロードサイズは2KB(2048バイト)です。
IOS 8より前は、制限は256バイトでした。