Push-Notification Insigne de l'incrément automatique
J'ai été mise en œuvre le service push à ma demande, et j'ai pensé à la demande de badge. Mon application est une application de messagerie (sorta) et je tiens à en informer l'utilisateur par l'intermédiaire de push pour les nouveaux messages ajoutés à la boîte de réception, je veux le badge = nombre de nouveaux messages dans la boîte de réception.
J'ai pensé server faces (fournisseur) la vérification des nouveaux messages et l'envoi du numéro que le badge.
La question est:
Est-il un moyen de l'auto-incrémentation de l'application de l'insigne, sans avoir à calculer l'insigne de la valeur server faces et ensuite l'envoyer comme une partie de la poussée de la charge utile de l'APSN?
Peut-être il ya un moyen de l'envoyer en JSON insigne du champ de certaines variables comme le "++" ou quelque chose comme ça.
Tout hack pour qui? Ou dois-je aller avec le système de comptage du côté du serveur??
- Est en auto-increment toujours pas possible? Je suis en train de construire une application de chat appelé AcaniChat. Comme l'iPhone natif de l'application Messages, le compteur est égal au nombre de nouveaux (non lus) les messages, et vous obtenez une notification push pour chaque nouveau message. Donc, si l'auto-incrémentation était possible, je n'aurais pas à stocker chaque dispositif de jeton de l'insigne de compter sur le serveur.
Vous devez vous connecter pour publier un commentaire.
Non, vous devez suivre ce côté serveur. Si vous n'incluez pas la valeur de l'insigne, il sera complètement supprimé.
Bien sûr, si ce n'est que si l'utilisateur reçoit la notification et l'application n'est pas en cours d'exécution/ils choisissent de ne pas le lancer. Si l'utilisateur lance l'application ou elle était déjà en marche, vous pouvez faire ce que vous voulez en ce qui concerne l'incrémentation.
Mise à JOUR Mars 2014: Voir les commentaires pour une éventuelle mise à jour. Je n'ai pas fait pousse dans plusieurs années, donc n'ai pas pu le vérifier moi-même.
[UIApplication sharedApplication].applicationIconBadgeNumber
si vous voulais avoir le numéro de badge, pas besoin de mettre en cache en enNSUserDefaults
.C'est possible, mais il y a un compromis.
Vous pouvez toujours envoyer le non lus total comme un add-on JSON valeur en tant que partie de la poussée de la charge utile (push ignore les clés, il n'est pas explicitement comprendre). Une fois que l'utilisateur ouvre l'application, la lecture de la valeur et de régler le badge par programme vous-même via UIApplication de
applicationIconBadgeNumber
propriété.Le problème avec cela est que pousser ajuste l'insigne de la valeur même si l'utilisateur n'a pas ouvert l'application (c'est à dire quand ils obtiennent l'avis et que l'utilisateur appuie sur "Annuler" au lieu de 'Voir'). Dans ces cas, votre badge ne changera pas, mais dès qu'ils exécuter l'application (si ils ont frappé 'View'), alors que votre application puisse le mettre droit.
Vous pouvez essayer App42 backend qui fournissent des services incrément automatique de pousser compteur qui est maintenu sur le côté serveur. Pour plus de détails, vous pouvez suivre le lien de blog. Voici l'article sur le blog conent:
Voici les quelques cas d'utilisation qui peuvent être obtenus via l'auto-incrémental compteur dans App42 de Notification Push.
Pour l'auto incrément de pousser un insigne pour 1, vous devez envoyer le message push comme indiqué ci-dessous.
N. B: L'échantillon est expliqué pour l'Unité/C#, mais le même processus peut être appliqué sur d'autres aussi.
Si vous voulez prévoir un nombre quelconque par badge ou souhaitez réduire le compteur à zéro, vous pouvez utiliser cette méthode pour mettre à jour le comte de la notification obtient cliqué par l'utilisateur. Vous devez appeler updatePushBadgeforDevice ou updatePushBadgeforUser dans ce cas.
updatePushBadgeforDevice
– Cette méthode est utilisée pour mettre à jour la pousser compteur d'un dispositif particulier enregistrés par l'utilisateur .updatePushBadgeforUser
– Cette méthode est utilisée pour mettre à jour la pousser insigne nombre de tous les appareils que l'utilisateur achète. Dans ce cas, nous supposons que l'utilisateur a plusieurs appareils enregistrés sous son nom.Envoyer
+1
pour insigne le comte, qui s'auto-incrémente le compteur de 1.