web-dev-qa-db-ja.com

APN(Apple Push Notification)ペイロードサイズの制限

公式ドキュメント で情報を見つけることができます:

各プッシュ通知にはペイロードが含まれます。ペイロードには、システムがユーザーに警告する方法に関する情報と、提供するカスタムデータが含まれます。通知ペイロードに許可される最大サイズは、256バイトです。 Appleプッシュ通知サービスは、この制限を超える通知を拒否します。

ただし、WWDC 14では、次のスクリーンショットを見ることができます。

enter image description here

プッシュ通知のサイズ制限に関する公式のAppleステートメントがあるかどうか疑問に思います。それをテストし、256バイト以上で動作しますが、ドキュメントはそれを行うべきではありません。リモート通知のサイズ?

38
Jakub

Appleはすでにドキュメントを更新しています。最大ペイロードサイズの2KBは、iOS 8を実行しているデバイス用です。 official doc によると:

IOS 8以降では、通知ペイロードに許可される最大サイズは2キロバイトです。 Appleプッシュ通知サービスは、この制限を超える通知を拒否します。iOS8およびOS Xでは、最大ペイロードサイズは256バイトです。)


更新された Apple docs サイズは4KBです

  • 通常のリモート通知の場合、最大サイズは4KB(4096バイト)です
  • ボイスオーバーインターネットプロトコル(VoIP)通知の場合、最大サイズは5KB(5120バイト)注

HTTP/2リクエストの代わりにレガシーAPNsバイナリインターフェイスを使用して通知を送信する場合、最大ペイロードサイズは2KB(2048バイト)です

66
Xavier Maroñas

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/

30

Node-apnプロジェクトのテストによると、サイズはベータ期間中に256から2KBに拡張されました。おそらく、Appleはこの変更を反映するためにドキュメントを更新していません。 node-apnプロジェクトに関する議論

編集: 都市飛行船もバックエンドを2KBに更新しました

3
Nicholas Smith
  • 通常のリモート通知の場合、最大サイズは4KB(4096バイト)
  • Voice over Internet Protocol(VoIP)通知の場合、最大サイズは5KB(5120バイト)

[〜#〜] note [〜#〜]

HTTP/2リクエストの代わりにレガシーAPNsバイナリインターフェイスを使用して通知を送信する場合、最大ペイロードサイズは2KB(2048バイト)です

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

2
Anand Kore

最新の 公式ドキュメント によると、ペイロード制限は4096バイトまたは通常通知の場合は2048バイト、VoIP通知の場合は5120バイトです。

ペイロードの最大サイズは、送信する通知によって異なります。

  • 通常のリモート通知の場合、最大サイズは4KB(4096バイト)です
  • Voice over Internet Protocol(VoIP)通知の場合、最大サイズは5KB(5120バイト)です

注:HTTP/2要求の代わりにレガシーAPNバイナリインターフェイスを使用して通知を送信している場合、最大ペイロードサイズは2KB(2048バイト)です。

IOS 8より前は、制限は256バイトでした。

1
Brad Koch