2009-09-30 9 views
1

Je me demandais s'il était possible que l'application sur le client puisse lire les données dans la charge utile lorsqu'une notification APNS est envoyée? Par exemple, si la notification APNS dit "Hello world!" Et que l'utilisateur clique sur "View" pour accéder à l'application, l'application pourrait-elle voir que la notification APNS disait "Hello world!" ".Lecture de la charge utile APNS à l'aide du client

Merci.

Répondre

4

Les notifications APNS sont liées à un jeton spécifique associé à une application spécifique sur un seul téléphone. Lorsque la notification arrive, iPhone OS affiche l'alerte à l'utilisateur, joue le son (si spécifié) et définit le badge d'application (le cas échéant).

Si l'application est en cours d'exécution et que l'écran n'est pas en veille, l'application est exécutée et le paquet JSON de données utiles est transféré. Si l'application est en cours d'exécution et l'écran est sombre, l'utilisateur est montré l'alerte avec un seul bouton pour déverrouiller l'écran, puis l'application est remis la charge utile. Si l'application n'est PAS en cours d'exécution, l'utilisateur reçoit un choix Afficher/Annuler. Si elles tapent sur Afficher, l'application est exécutée et la charge utile JSON est transférée.

Comme vous pouvez le voir, dans tous ces cas, le paquet JSON contenant l'alerte de notification, le son, le badge et tout autre bit supplémentaire que vous envoyez est remis à l'application. Les docs vous montrent comment récupérer le paquet JSON. C'est à vous de décider quoi en faire.

Si vous pensez à une application voyant la charge utile pour une autre application, la réponse est non. Les notifications sont liées à des signatures d'applications spécifiques.

+0

"Si l'application n'est PAS en cours d'exécution, l'utilisateur reçoit un choix Afficher/Annuler.S'ils tapent sur Afficher, l'application est exécutée et la charge JSON est transférée." Que se passe-t-il si l'utilisateur annule et que nous voulons que le dernier numéro de badge ne soit pas lu sur le serveur comme le courrier? – harshalb

+1

Si elles frappent «annuler» l'application n'est pas notifiée et la charge utile entière (y compris le numéro de badge) est rejetée. C'est sous le contrôle de l'utilisateur. Sous iOS 4, vous pouvez essayer de configurer l'application pour rester en vie en arrière-plan et l'envoyer périodiquement au ping pour des comptes non lus. Mais si le système d'exploitation a besoin de la mémoire, votre application sera zappée, il est donc préférable de ne pas créer cette attente chez l'utilisateur. Les applications intégrées (comme Mail) ne sont pas jouées par les mêmes règles. – Ramin

Questions connexes