Il n’est pas toujours aisé de travailler avec les notifications iPhone, c’est pourquoi les développeurs peuvent se simplifier la tâche en utilisant des programmes Open Source pour gérer la partie serveur.
Si gérer les notifications push pour iPhone et iPad est assez simple, la partie certificat est plus obscure… Pour commencer avec les notifications, on peut utiliser un outil comme easyAPNS.
Présentation de EasyAPNS
EasyAPNS est un programme Open Source qui permet d’utiliser l’APNS (Apple Push Notification Service) sans se prendre la tête. D’un côté, on a la partie serveur développée en Php + MySQL qui est chargée de stocker les périphériques enregistrés et les messages qui leur sont envoyés.
Côté iPhone, easyAPNS vous propose aussi les instructions à mettre dans votre Application Delegate pour que les utilisateurs puisse s’enregistrer à votre service de notifications.
Sans rentrer dans les détails, disons que EasyAPNS est plutôt bien fait et permet d’aller plus vite pour quelqu’un qui maîtrise déjà le développement iOS. Suivant votre projet vous serez aussi obligé de modifier (parfois en profondeur) la partie Php et MySQL de easyAPNS pour qu’il corresponde à vos besoins. Mais dans tous les cas, cet outil vous fera gagner (un peu) de temps.
La gestion des certificats
Comme souvent chez Apple, la prise de tête vient de la gestion des certificats à utiliser pour se connecter au service de notifications push.
- Pour vous simplifier la tâche, voici la procédure à suivre pour créer un certificat qui fonctionne avec EasyAPNS.
- Connectez-vous dans iTunes Connect et allez dans la partie concernant les profils de développement (Provisioning Portal).
- Utiliser l’outils « Trousseau d’accès » de Mac OS X pour demander un certificat a une autorité. Menu « Trousseau d’accès » -> « Assistant de certification » -> « Demander un certificat à une autorité de certificat ».
- Entrez une adresse email, un nom pour le certificat et cliquez sur « Enregistrer sur le disque ».
- Dans iTunes connect activez les notifications pour votre application dans la partie « App Ids ». Pour les notifications de l’environnement de développement cliquez sur « Enable for Apple push notification service ». Ensuite uploader le certificat créé depuis Mac OS X.
- Au bout de quelques minutes vous pourrez télécharger un fichier « *.cer ». Double cliquez dessus pour l’ouvrir dans le « Trousseau d’accès » Apple.
- Depuis le trousseau vous devriez avoir un nouveau certificat et la clé qui y est rattaché. Télécharger séparément ces deux éléments sur votre disque dur. Nommez le certificat « apns-dev-cert.p12 » et la clé « apns-dev-cle.p12« . Lors de l’enregistrement sur le disque, on vous demandera une phrase de sécurité. Souvenez-vous en bien car elle vous sera demandée plus tard.
- Ouvrez le Terminal Mac OS X pour entrer des commandes. Allez dans le répertoire dans lequel vous avez sauvegarder les deux fichiers *.p12 (utilisez les commandes « cd » et « ls »).
- Puis exécutez les commandes suivantes : « openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12 » et « openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12« . Cela permet de convertir les fichiers p12 en fichier pem.
- Executez ensuite la commande « openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem » qui va enlever la phrase de sécurité enregistrée plus tôt (étape nécessaire pour le bon fonctionnement de easyAPNS).
- Finalement, groupez les deux fichiers en un seul avec cette commande : « cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem« . Le fichier « apns-dev.pem » est prêt à être utilisé sur le serveur easyAPNS.
- Répétez l’opération pour le certificat de production et le tour est joué !
Maintenant, vous devriez avoir les base pour commencer à travailler avec les notifications push sur iOS (iPhone, iPad et iPod Touch).
Lien : easyAPNS.
Ping : Notifications Push iOS et Python
To start with notifications in iPhone apps we can use a tool like easyAPNS.so it will be more easy and different.
Très bon tuto, mais à l’étape 7 c’est «apns-dev-key.p12» au lieu de «apns-dev-cle.p12» 🙂