Limite de taille de charge utile APN (Apple Push Notification)

Dans la documentation officielle, vous pouvez find l'information:

Chaque notification push inclut une charge utile. La charge utile contient des informations sur la façon dont le système devrait alerter l'user ainsi que toutes datatables personnalisées que vous fournissez. La taille maximale autorisée pour une charge utile de notification est de 256 octets ; Apple Push Notification Service refuse toute notification dépassant cette limite.

Cependant, dans WWDC 14, nous pouvons voir cette capture d'écran:

entrez la description de l'image ici

Je me request s'il existe une déclaration officielle d'Apple concernant la taille limite de la notification push. Je l'ai testé et plus grand que 256 octets fonctionne, mais la documentation a dit qu'il ne devrait pas. Quelqu'un peut-il confirmer ou infirmer la taille des notifications à distance?

Apple a déjà mis à jour la documentation. Le 2 Ko pour la taille maximale de la charge utile est uniquement pour les appareils exécutant iOS 8. Le document officiel dit:

Dans iOS 8 et versions ultérieures, la taille maximale autorisée pour une charge utile de notification est de 2 kilo-octets; Le service Apple Push Notification refuse toute notification dépassant cette limite. (Avant iOS 8 et dans OS X, la taille maximale de la charge utile est de 256 octets.)


Selon les documents Apple mis à jour, la taille est de 4 Ko.

  • Pour les notifications à distance régulières, la taille maximale est de 4 Ko (4096 octets)
  • Pour les notifications VoIP (Voice over Internet Protocol), la taille maximale est de 5 Ko (5120 octets).

Si vous utilisez l'interface binary APN héritée pour envoyer des notifications au lieu d'une requête HTTP / 2, la taille maximale de la charge utile est de 2 Ko (2048 octets)

Pour iOS 9, il y a quelques changements:

Introduction de HTTP / 2
Charge utile augmentée à 4 Ko

La limite de 4 Ko s'applique à toutes les versions d'iOS et d'OS 10

Consultez ce lien officiel

  • Pour les notifications à distance régulières, la taille maximale est de 4 Ko (4096 octets)

  • Pour les notifications VoIP (Voice over Internet Protocol), la taille maximale est de 5 Ko (5120 octets)

  • Si vous utilisez l'interface binary APN héritée pour envoyer des notifications au lieu d'une requête HTTP / 2, la taille maximale de la charge utile est de 2 Ko (2048 octets)

Consultez ce lien video pour plus de détails concernant les fonctionnalités de HTTP / 2
https://developer.apple.com/videos/play/wwdc2015-720/

Selon les tests du projet node-apn, la taille a été étendue de 256 à 2KB sur la période bêta, je pense qu'il est probable qu'Apple n'a pas mis à jour sa documentation pour refléter ce changement. La discussion sur le projet node-apn .

Edit: Urban Airship a également mis à jour son backend pour 2KB .

Selon la documentation officielle la plus récente, la limite de charge utile est de 4096 octets ou 2048 octets pour les notifications régulières et de 5120 octets pour les notifications VoIP:

La taille maximale de la charge dépend de la notification que vous envoyez:

  • Pour les notifications à distance régulières, la taille maximale est de 4 Ko (4096 octets)
  • Pour les notifications VoIP (Voice over Internet Protocol), la taille maximale est de 5 Ko (5120 octets)

Remarque: Si vous utilisez l'interface binary APN héritée pour envoyer des notifications au lieu d'une requête HTTP / 2, la taille maximale de la charge utile est de 2 Ko (2048 octets).

Avant iOS 8, la limite était de 256 octets.

  • Pour les notifications à distance régulières , la taille maximale est de 4 Ko (4096 octets)
  • Pour les notifications VoIP (Voice over Internet Protocol) , la taille maximale est de 5 Ko (5120 octets)

REMARQUE

Si vous utilisez l'interface binary APN héritée pour envoyer des notifications au lieu d'une requête HTTP / 2, la taille maximale de la charge utile est de 2 Ko (2048 octets)

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