logo fidzup

Toute l'actualité de l'innovation pour le retail


Le 21/11/2012

Intégrer Passbook à vos apps

Annoncé en grande pompe lors de la dernière WWDC, Passbook est l’une des grandes nouveautés d’iOS6 ; la seule, diront peux être certaines mauvaises langues.

Dans cet article nous reviendront rapidement sur les bases de Passbook puis nous verrons le framework Passkit, qui permet d’intégrer les nouvelles fonctionnalités de Passbook à vos apps.

Qu’est-ce que Passbook.

Présentation générale

Passbook c’est avant tout le nom du gestionnaire de : cartes de fidélité/coupons de réduction/tickets de transport/etc… (des Pass), que l’on retrouve dans tous les iPhones avec iOS6.

L’application Passbook permet donc de regrouper en son sein tous les Pass que vous allez recevoir afin de les retrouver plus facilement. Mais la grande innovation ne vient pas de cette application mais bien de ses Pass.

Les Pass sont en fait un dossier compressé, dont l’extension a été modifié, comprenant un – ou plusieurs pour les traductions – fichier JSON, ainsi que des images. Il y a plusieurs thèmes prédéfinis par Apple, ainsi qu’un thème generic qui permet de personnaliser un peu plus ses Pass.

La création de pass n’est pas une sinécure, mais comme il s’agit en grande partie de JSON et d’images, de nombreux services web ont déjà fleuri pour vous permettre de créer plus facilement vos Pass. 5 sites pour créer et manager vos pass PassBook

Il y a certaines choses que vous devez savoir sur les Pass :

  • Les seuls codes bars accepté par Passbook sont les QRCode les PDF417 et les codes Aztec
  • Chaque Pass peut être associé jusqu’à 10 coordonnées GPS qui permettent chacune, d’afficher une notification sur l’iPhone de l’utilisateur. De la même façon, ils peuvent être associés à une heure donnée, ou à un compte à rebours pour afficher une notification prédéfinie.
  • Aucun pass n’est nécéssairement associé à une application. En effet les Pass peuvent très bien vous être transmis par email (ce que fait par exemple Captain train) ou message. Un pass peut toutefois contenir une lien vers une application ou si elle n’est pas installé sur l’iPhone de l’utilisateur, vers sa page sur l’App store.
  • Les pass peuvent être mis à jour à condition de mettre en place de votre côté un système proche de celui qu’Apple à créer pour les push notifications.

Nous allons nous intéresser maintenant au Framework mis en place par la marque à la pomme pour exploité Passbook et ses Pass dans nos applications.

Passkit

Apple a introduit un tout nouveau framework Passkit permettant d’avoir accès à tous les Pass de l’utilisateur, de les modifier, de les supprimer ou d’en créer.

Pass Kit Framework Reference

Passkit c’est trois nouvelles classes :

PKAddPassesViewController

Permet d’ajouter des pass au moyen de la méthode :

- (id)initWithPass:(PKPass *)pass;

PKPassLibrary

Est une classe donnant accès aux pass contenus dans le PassBook de l’utilisateur.

Plusieurs méthodes peuvent nous intéresser, tout d’abord :

+ (BOOL)isPassLibraryAvailable;

retourne un booléen pour savoir si la bibliothèque de pass est disponible. En effet une seule instance de cette bibliothèque peux être appelée. A ne pas oublier pour éviter quelques crashs inutiles !

Une autre méthode retourne un booléen, il s’agit de containsPass

- (BOOL)containsPass:(PKPass *)pass;

Comme son nom l’indique cette méthode nous indique si oui ou non les utilisateurs ont des pass sur leur iPhone.

Plus intéressant enfin, on peut accéder à la liste des pass de l’utilisateur soit sous forme de tableau tout simplement avec

- (NSArray *)passes;

Ou plus finement avec la méthode

- (PKPass *)passWithPassTypeIdentifier:(NSString *)identifierserialNumber:(NSString *)serialNumber;

On peut ici voir l’une des spécificités de PassBook chaque pass à un identifiant unique ainsi qu’un numéro de série.

Enfin c’est aussi dans cette classe qu’on trouve les méthodes nécessaires à l’effacement d’un pass ou son remplacement par un nouveau, très pratique pour mettre à jour la carte de fidélité d’un utilisateur, enlever des billets qui seraient annulés, etc.

Tout d’abord

- (void)removePass:(PKPass *)pass;

permet tout simplement d’effacer un Pass qu’on aura chargé au préalable.

Et

- (BOOL)replacePassWithPass:(PKPass *)pass;

permet de remplacer le pass. Cette méthode nous renvoie un booléen pour savoir si l’opération s’est bien déroulée.

PKPass

Dernières classe de ce framework et non des moindres, PKPass représente un pass.

Ses propriétés d’identification sont donc :

  • authenticationToken
  • passTypeIdentifier
  • serialNumber
  • webServiceURL

Ses propriétés d’affichage :

  • icon
  • localizedName
  • localizedDescription
  • localizedValueForFieldKey: organizationName
  • relevantDate

Et une méthode qui permet de créer un pass :

- (id)initWithData:(NSData )data error:(NSError *)error;

Conclusion

Pour beaucoup Passbook préfigure peux être d’un futur ou l’iPhone se transformera en terminal de paiement. Il reste encore énormément de travail à Apple s’ils se dirigent réellement dans cette voie.

Pour l’instant il est difficile de juger et d’analyser l’impact pour sur les utilisateurs lambdas, tant que les grands noms du transport, de la distribution, et de l’événementiel français ne s’y sont pas mis.

En attendant si vous avez une application qui utilise des coupons, des tickets et tout ce qui est prit en charge par les Pass, profitez-en pour l’intégrer à votre application. Cela vous assurera certainement d’être positionné de façon avantageuse sur l’App Store, où Apple à créer une section spécifiquement pour les applications intégrant cette techno.

Posté par Thomas le 21/11/2012

comments powered by Disqus