133 votes

Comment fonctionnent les notifications push d'iOS ?

Comment les notifications "push" d'iOS sont-elles transmises à un appareil particulier sans que celui-ci ait besoin d'interroger un serveur ?

Par exemple, disons que j'ai reçu un nouveau message sur Facebook. Facebook informe Apple que mon appareil doit recevoir une notification à ce titre. Mais comment Apple sait-elle à quel appareil/IP envoyer le message ?

118voto

Karan Alangat Points 60

Chaque appareil peut être mis à jour avec des données en utilisant ses propres jetons d'appareil uniques. Cette image explique tout

enter image description here

67voto

Panama Jack Points 4442

C'était trop pour moi pour le mettre dans un commentaire donc.

Dans la documentation.

Le service de notification push d'Apple (APN) propage les notifications push aux appareils ayant des applications enregistrées pour recevoir ces notifications. Chaque appareil établit une connexion IP accréditée et cryptée avec le service et reçoit les notifications via cette connexion persistante. Les fournisseurs se connectent aux APN par un canal persistant et sécurisé tout en surveillant les données entrantes destinées à leurs applications clientes. Lorsque de nouvelles données destinées à une application arrivent, le fournisseur prépare et envoie une notification via le canal aux APN, qui poussent la notification vers le dispositif cible .

Je vous suggère de lire la documentation pour plus d'informations et pour savoir comment utiliser et configurer. Tout y est.

Notifications push

28voto

Udit Agarwal Points 848

J'ai créé une infographie pour expliquer le flux de travail des notifications push. J'espère que cela vous sera utile.

enter image description here

15voto

user4248688 Points 159

L'appareil ne continue pas à interroger le serveur pour les notifications push.

Pour faire simple, considérons qu'un iPhone est connecté à Internet. En se connectant à Internet, l'iPhone établit une connexion avec le serveur Apple Push Notifications ; cette connexion est ouverte, ce qui signifie que les données peuvent être envoyées à l'iPhone depuis le serveur au moment où elles arrivent sur le serveur.

Apple n'utilise pas le protocole HTTP pour les notifications Push, mais si vous comprenez le protocole HTTP, la méthodologie est presque similaire.

http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push

2voto

Tarek Points 1554

Il y a une très belle explication des notifications push dans cet article .

Dans iOS, les applications ne peuvent pas faire grand-chose en arrière-plan. Elles ne sont autorisées à effectuer qu'un nombre limité d'activités afin de préserver l'autonomie de la batterie.

Mais que faire si quelque chose d'intéressant se produit et que vous souhaitez en informer l'utilisateur, même s'il n'est pas en train d'utiliser votre application ?

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