145 votes

Quelle est la longueur maximale du texte d'une alerte de notification push ?

Quelle est la longueur maximale du texte d'alerte d'une notification push iOS ?

El documentation déclare que la charge utile de la notification doit être inférieure à 256 octets au total. mais il doit y avoir une limite de caractères spécifique pour le texte de l'alerte.

252voto

ascandroli Points 1387

Les limites réelles du texte d'alerte ne sont documentées nulle part. La seule chose que le documentation dit est :

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

C'est ce que j'ai pu trouver en faisant quelques expériences.

  • Alertes : Avant iOS 7, la limite d'affichage des alertes était de 107 caractères. Les messages plus longs étaient tronqués et vous obteniez un "..." à la fin du message affiché. Avec iOS 7, la limite semble être passée à 235 caractères. Si vous dépassez 8 lignes, votre message sera également tronqué.
  • Bannières : Les bannières sont tronquées autour de 62 caractères ou 2 lignes.
  • Centre de notification : Les messages dans le centre de notification sont tronqués autour de 110 caractères ou 4 lignes.
  • Écran de verrouillage : Comme un centre de notification.

À titre de rappel, voici une très bonne note de la documentation officielle :

Si nécessaire, iOS tronque votre message pour qu'il s'adapte bien à chaque style d'envoi de notification ; pour de meilleurs résultats, vous ne devriez pas tronquer votre message.

8 votes

Il convient de préciser qu'une UIAlertView intégrée à l'application n'a pas de limite d'affichage ; au-delà d'une certaine longueur, le texte sera affiché dans une vue défilante. En revanche, un SMS ou une alerte push sont probablement limités à 107 caractères.

1 votes

Et le texte affiché n'est pas limité par la charge utile, car lorsque vous utilisez la méthode de localisation, il n'y a plus de correspondance 1:1. La charge utile peut être courte alors que le message final peut être beaucoup plus long. La question porte sur l'affichage du message et n'est pas strictement liée à la longueur maximale de la charge utile.

1 votes

Je pouvais envoyer une énorme charge utile au bac à sable et elle était livrée, mais le serveur de production était très restrictif et ne permettait que 256 octets et pas un octet de plus.

26voto

Anurag Points 66470

Il doit être de 236 octets. À ma connaissance, il n'y a pas de restriction sur la taille du texte d'alerte, mais seulement sur la taille totale de la charge utile. Ainsi, si la charge utile est minimale et ne contient que les informations d'alerte, elle devrait ressembler à ceci :

{"aps":{"alert":""}}

Cela occupe 20 caractères (20 octets), ce qui laisse 236 octets à placer dans la chaîne d'alerte. Avec ASCII, cela fera 236 caractères, et pourrait être moins avec UTF8 et UTF16.

0 votes

L'encodage ASCII est contraire à la spécification JSON, qui exige UTF-8, UTF-16LE, UTF-16BE, UTF-32LE ou UTF-32BE. Voir ietf.org/rfc/rfc4627.txt ; page 4.

14 votes

L'ASCII est un sous-ensemble de l'UTF-8, il est donc toujours sûr de transmettre l'ASCII 8 bits sur le fil.

0 votes

Juste curieux, pourquoi vous avez mentionné alors Il devrait être de 236 octets. Je rencontre un problème de troncature. Si je compte la longueur totale des caractères, elle ne dépasse pas 1024 caractères, mais je reçois un message d'alerte de troncature indiquant que la longueur des caractères est de 509. Quelle pourrait être la raison possible de la réponse tronquée. N'importe quelle suggestion !

15voto

William Denniss Points 3781

La limite de l'amélioration du format des notifications est documentée ici.

Il est dit explicitement:

La charge utile ne doit pas dépasser 256 octets et ne doit pas être null.

ascandroli des revendications ci-dessus , ils ont réussi à envoyer des messages avec 1400 caractères. Mes propres tests avec la nouvelle notification format a montré qu'un message vient de 1 octet de plus de 256 octets limite a été rejetée. Étant donné que les docs sont très explicites sur ce point, je suggère qu'il est plus sûr d'utiliser 256 indépendamment de ce que vous pouvez être en mesure de réaliser expérimentalement qu'il n'y a aucune garantie Apple ne changera pas en 256 dans l'avenir.

Comme pour le texte de l'alerte elle-même, si vous pouvez le glisser dans l'256 total de la taille de la charge utile alors il sera affiché par iOS. Ils tronquer le message qui s'affiche sur la barre d'état, mais si vous ouvrez le centre de notifications, le message est là. Même rend les caractères de saut de ligne \n.

7voto

Elenasys Points 23268

Pour les notifications régulières à distance, la taille maximale est de 4KB (4096 octets) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

###iOS la taille limite est de 256 octets, mais depuis l'introduction d'iOS 8 est passée à 2kb !

https://forums.aws.amazon.com/ann.jspa?annID=2626

Avec iOS 8, Apple a introduit de nouvelles fonctionnalités qui permettent de nouveaux cas d'utilisation riches pour les notifications push mobiles. nouveaux cas d'utilisation des notifications push mobiles - notifications interactives, des widgets tiers et des charges utiles plus importantes (2 Ko). Aujourd'hui, nous sommes heureux d'annoncer la prise en charge des nouvelles capacités de push mobiles annoncées avec iOS 8. Nous publions un nouvel iOS 8 qui montre comment ces nouvelles fonctionnalités peuvent être mises en œuvre avec SNS. avec SNS, et nous avons également implémenté la prise en charge des charges utiles de 2KB.

5voto

kl94 Points 1799

Selon les notifications de la WWDC 713_hd_whats_new_in_ios_notifications. L'ancienne limite de taille de 256 octets pour une charge utile de poussée a maintenant été augmentée à 2 kilo-octets pour iOS 8.

Source : http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0

0 votes

@Diziet Désolé, je ne trouve pas de note officielle sur ce point mais cela a été annoncé officiellement lors de la dernière WWDC. Même Urban Airship l'a annoncé : urbanairship.com/blog/2014/07/02/

0 votes

Voici les diapositives/vidéos si quelqu'un veut un lien vers une pomme : developer.apple.com/videos/wwdc/2014 - Recherchez "Quoi de neuf dans les notifications d'iOS".

0 votes

@kl91 C'est bon. En décalage avec les commentaires, j'ai supprimé mon commentaire quand j'ai trouvé la source. Si vous téléchargez le PDF, elle se trouve à la page 82.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X