La notification push Apple ne modifie pas le badge d'icône automatiquement
J'ai vu l'application de messagerie sur mon iPhone (4S, iOS 5.1) met automatiquement à jour le compteur si l'arrivée de nouveaux messages, même lorsque l'application n'est pas en cours d'exécution. Il est donc possible d'obtenir ce comportement dans mon appli, non?
Mon application avec succès des registres pour les notifications push pour les 3 types de Badge, d'Alerte et de Son.
Paramètres du téléphone est réglé pour toutes les 3 types de distance des notifications de cette application.
Mon application reçoit des notifications à distance et montre alerte, joue son, mais il ne pas mise à jour le numéro de badge.
Si je lance l'application via le bouton d'Affichage sur l'alerte, puis mon application peut lire l'insigne de la valeur parfaitement et je peux changer/supprimer/définir le badge sur l'icône de code.
Une raison pourquoi iOS ne peut pas changer le badge sur l'icône de mon appli automatiquement lorsque la notification arrive? J'ai vu tous les des postes similaires, ils sont tous de discuter de ce sujet, soit les paramètres du téléphone, ou sur les types de notification qu'il a enregistré, ou sur la vérification de la charge utile JSON comprend badge ou pas.
Est-il une autre raison qui peut provoquer ce problème?
Voici mon code bloque:
Registre pour les APNs à chaque fois que l'app est lancée -
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
Dispositif de jeton reçu presque instantanément.
Jeton a été envoyé au fournisseur, et je suis la réception de notifications. Des alertes et des Sons fonctionne. Mais l'insigne n'a pas d'effet automatique jusqu'à ce que j'ai lancer l'application et de la modifier manuellement. S'il vous plaît aider.
source d'informationauteur zinnuree
Vous devez vous connecter pour publier un commentaire.
J'ai aussi eu exactement ce même problème. L'insigne de l'icône n'a pas été cité. Après de nombreuses heures à essayer de modifier le format JSON (après vérification de l'application sur le téléphone a montré des badges, des sons, des alertes) - le problème est que j'avais ajouté UIRemoteNotificationTypeNewsstandcontentavailability comme l'un des types d'alerte de mon application a été enregistrer pour. (Je suis allé fou, il suffit de prendre tout)
Donc, quand
UIRemoteNotificationTypeNewsstandContentAvailability
est également dans le mélange, il semble ignorer la fonction de permettre aps/numéro de badge pour mettre à jour l'icône d'une application. (Doit être à la recherche à la mise à jour en kiosque info)Le problème est désormais résolu. Le serveur du fournisseur a été d'envoyer le numéro de badge entre guillemets (comme Chaîne JSON, c'est à dire "9"). Étrange que des APNs/iOS ne le reconnaît pas comme un entier. Désormais, les citations sont supprimés et ça fonctionne 🙂
J'ai eu le même problème, résolu en forçant entier dans le numéro de badge (à l'aide de PHP avec les données de MySQL db):
Ps.: jetez un oeil à la
utf8_encode
de commande pour éviter unjson_encode
erreur que j'ai rencontrés plus tôt, aussi.