Apple Push Notification Service
Philippe49
Membre
Au courrier aujourd'hui :
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Punaise y'a tellement de trucs à tester dans ce SDK3.0 et j'ai à peine le temps tellement je voudrais tout regarder
Qu'est ce que ça peut nous apporter par rapport à des appels vers nos propres serveurs pour exécuter du code ?
J'ai beau lire cela :
http://developer.apple.com/iphone/prerelease/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/WhatAreRemoteNotif/WhatAreRemoteNotif.html#//apple_ref/doc/uid/TP40008194-CH102-SW1
...je reste sur ma faim.
Tout simplement à notifier un iPhone qu'un évènement lié à une application s'est produit même si l'application n'est pas en train de s'exécuter sur l'iPhone. Le but c'est de palier à l'impossibilité de faire tourner des applications en tâche de fond.
Prenons exemple d'une application d'informations (comme celle du Monde): Elle ne reçoit les nouveaux articles que si elle est en cours d'exécution. Avec le système de push, l'utilisateur de l'iPhone sera averti automatiquement qu'une nouvelle info est disponible dans l'application, même si elle ne s'exécute pas.
On peut également utiliser ce système pour les applications de messagerie instantannée, et donc rester joignable même quand l'application est arrêtée.
Ca nous apporte donc le fonctionnement inverse : C'est le serveur qui contacte l'iPhone quand il a une information à lui transmettre.
Donc une bonne partie de la programmation doit se faire côté serveur non ? Puisque c'est le serveur au final qui notifie les événements à l'iPhone ?
Tout à fait. Il faut développer un serveur qui va pusher les évènements vers le système de push d'apple, qui va, à son tour, router le message vers l'iPhone concerné.
Sachant que l'authentification des serveurs "client" se fait par des certificats numériques (pour éviter que de fausses notifications soient envoyées par des machines non autorisées), cela demande pas mal de travail coté serveur (il faut gérer des communications cryptées par SSL/TLS vers les serveurs d'Apple).
Du coté de l'application client sur l'iPhone, il y a pratiquement rien à faire. En gros ça doit tenir en une dizaine de lignes:
Du coup, pour la partie serveur, on programme en ce qu'on veut ?
Il faudrait que je prenne le temps d'essayer de développer un tel service, mais après mes 8 heures quotidiennes de développement pour mon employeur (sur PC ), j'avoue avoir du mal à continuer chez moi (et ça concerne malheureusement également le projet sur lequel je travaille pour MacOS X).
Je comprends pourquoi Apple avait besoin de développeurs test...