Projet réalisé chez EPIC
Un client d'EPIC souhaitait proposer à ses utilisateurs une carte à ajouter dans Apple Wallet. C'est le sujet sur lequel je me suis penché, de la documentation jusqu'au pass fonctionnel.
Le format .pkpass est strict: une archive contenant un pass.json précis, ses images, un manifeste des empreintes de chaque fichier et une signature réalisée avec un certificat Apple. Une seule erreur et l'iPhone refuse la carte, sans message explicite.
Le pass est livré au client: ses utilisateurs peuvent ajouter leur carte à Apple Wallet. La recherche sur le web service pose les bases d'une mise à jour automatique des cartes.
Une fois installée sur l’iPhone, une carte ne se met pas à jour toute seule. Pour garder ses données synchronisées, Apple prévoit un web service: le pass.json déclare une webServiceURL et un authenticationToken, puis l’appareil s’enregistre auprès du serveur. Quand les données changent, le serveur envoie une notification push (APNs) ; l’iPhone demande alors la liste des passes modifiés et télécharge leur dernière version.
J’ai étudié ce fonctionnement (enregistrement des appareils, notifications, récupération du pass à jour) pour préparer la synchronisation automatique des cartes. Il n’est pas encore mis en place.
Ressources
Parlons-en !