Apple Push Notification Service

Philippe49Philippe49 Membre
22:52 modifié dans Actualités #1
Au courrier aujourd'hui :

Réponses

  • AliGatorAliGator Membre, Modérateur
    22:52 modifié #2
    Oui, vu, j'ai reçu le même hier ;)
    Punaise y'a tellement de trucs à  tester dans ce SDK3.0 et j'ai à  peine le temps tellement je voudrais tout regarder  :)
  • AntilogAntilog Membre
    22:52 modifié #3
    C'est pas sous NDA, tout ça?
  • Philippe49Philippe49 Membre
    22:52 modifié #4
    La news est aussi sur Mac4Ever ...
  • CeetixCeetix Membre
    22:52 modifié #5
    Je rejoins Antilog pour les NDA. Normalement pas trop le droit d'en parler je crois jusqu'à  la sortie du 3.0 . Enfin je me demande comment ils font pour vérifier en fait.
  • muqaddarmuqaddar Administrateur
    22:52 modifié #6
    Est-ce que quelqu'un peut m'expliquer brièvement à  quoi sert le Apple Push Notification Service ?

    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.  :p
  • zoczoc Membre
    juin 2009 modifié #7
    dans 1245094079:

    Est-ce que quelqu'un peut m'expliquer brièvement à  quoi sert le Apple Push Notification Service ?


    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.

    Qu'est ce que ça peut nous apporter par rapport à  des appels vers nos propres serveurs pour exécuter du code ?

    Ca nous apporte donc le fonctionnement inverse : C'est le serveur qui contacte l'iPhone quand il a une information à  lui transmettre.
  • muqaddarmuqaddar Administrateur
    22:52 modifié #8
    Merci zoc.

    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 ?
  • zoczoc Membre
    22:52 modifié #9
    dans 1245134913:

    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:
    • S'enregistrer aupres de l'OS pour lui indiquer qu'on est intéressé par des notifications : 1 ligne de code
    • Envoyer au serveur de l'application l'identifiant unique de l'iPhone (obtenu par le précédent appel si je me souviens bien) afin qu'il puisse identifier chaque client: Une dizaine de lignes de code (par exemple en utilisant un NSURLRequest)
  • muqaddarmuqaddar Administrateur
    22:52 modifié #10
    Merci ! 

    Du coup, pour la partie serveur, on programme en ce qu'on veut ?
  • zoczoc Membre
    22:52 modifié #11
    Oui, et sur le matériel/OS que tu veux...

    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).
  • muqaddarmuqaddar Administrateur
    22:52 modifié #12
    Bon merci de m'avoir expliquer le principe. C'est beaucoup plus clair maintenant.
    Je comprends pourquoi Apple avait besoin de développeurs test...
Connectez-vous ou Inscrivez-vous pour répondre.