48 votes

GCM - la longueur maximum pour l'Enregistrement de l'ID

Quelle est la longueur maximale d'un numéro d'Enregistrement délivré par GCM serveurs? CGM documents ne fournissent pas cette information. Googler pour cela révèle que l'Enregistrement de l'ID n'est pas de longueur fixe dans la nature et peuvent être jusqu'à 4K (4096 octets) de longueur. Mais ce ne sont pas officielles réponses de Google. Je suis actuellement à la réception de l'Enregistrement de l'IDs qui sont 162 caractères. Quelqu'un peut-il aider?

42voto

macno Points 349

Sur android-gcm forum un développeur de google confirme c'est de la 4k

21voto

azgolfer Points 6806

Je suis intéressé à savoir à propos de cette également. Mon reg taille de l'id est de 183 caractères. Je le soupçonne de ne pas être de plus de 512 caractères si, sans parler de 4K. Imaginez envoi en masse de notification, un 4K reg id x 1000 = 4 MO de taille de message!

En fin de compte, je viens d'utiliser le "texte" type dans ma table MySQL pour stocker l'id d'enregistrement. Donc même si google m'envoyer un 1K, 2K ou 4K (très peu probable) reg id, je vais être capable de les gérer.

Mise à jour: j'ai rencontré un nouveau reg id taille: 205.

0voto

MDeSilva Points 1067

C'est ce qui est dit dans la GCM, doc,

Un objet JSON dont les champs représente les paires clé-valeur du message de données de la charge utile. Dans ce cas, les données de la charge utile, il sera inclus dans l'Intention de données de l'application, avec à la clé plus de nom. Par exemple, "data":{"score":"3 x 1"} entraînerait une intention supplémentaire nommé score dont la valeur est la chaîne 3x1.

Il n'y a pas de limite sur le nombre de paires clé/valeur, mais il ya une limite sur la taille totale du message (4ko). Les valeurs pourrait être n'importe quel objet JSON, mais nous vous recommandons d'utiliser des chaînes de caractères, les valeurs seront convertis en chaînes dans la GCM serveur de toute façon.

Si vous voulez inclure des objets ou à d'autres types de données string (tels que les entiers ou les booléens), vous devez faire la conversion en chaîne de soi-même. Notez également que la clé ne peut pas être un mot réservé (à partir de ou n'importe quel mot commençant par google.).

Pour compliquer un peu les choses, il y a certains mots réservés (comme collapse_key) qui, techniquement, ne sont autorisés dans les données de la charge utile. Toutefois, si la demande contient également le mot, la valeur de la demande de remplacer la valeur de la charge utile de données. Donc en utilisant des mots qui sont définis comme des noms de champs dans cette table n'est pas recommandé, même dans les cas où ils sont techniquement autorisé. Facultatif.

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