Passbook (wallet) with iBeacon technologie

mardi 12 avril 2016

Dans cet article , je vais vous présenter comment utiliser un ticket de type passbook en utilisant la technologie iBeacon d’Apple pour détecter votre présence proche d’un beacon et lancer votre ticket à son approche.

La première chose à faire est bien sûr de créer un iOS Pass Type IDs en y définissant une description et un ID du type pass.be.xxxx.nom_app. Il vous faudra ensuite fournir un certificat identifiant le développeur pour terminer la génération du Pass Type ID. Enfin, vous devrez télécharger le iOS Pass Type ID et le sauver dans votre trousseau de clé en double cliquant sur le fichier téléchargé.

Ensuite, il est possible de télécharger un exemple de structure pour créer un coupon/ticket/etc … via le lien suivant. Une fois le dossier dezipper, vous pouvez prendre le fichier json et le modifier comme suit:

{
  "formatVersion" : 1,
  "passTypeIdentifier" : "pass.xxxxx.shops",
  "serialNumber" : "123456",
  "teamIdentifier" : "xxxxxxxx",
  "authenticationToken" : "vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFdc",
  "barcode" : {
    "message" : "123456789",
    "format" : "PKBarcodeFormatPDF417",
    "messageEncoding" : "iso-8859-1"
  },
  "organizationName" : "CASA Shop beacon",
  "description" : "Shop for interior home",
  "logoText":"Casa Shop",
  "foregroundColor" : "rgb(255, 255, 255)",
  "backgroundColor" : "rgb(55, 117, 50)",
  "beacons": [
        {
          "proximityUUID":"f7826da6-4fa2-4e98-8024-bc5b71e0893e",
          "relevantText":"Go right",
          "name" : "Casa Store beacon",
          "major":xxxx,
          "minor":xxxx
        }, 
        {
          "proximityUUID":"f7826da6-4fa2-4e98-8024-bc5b71e0893e",
          "relevantText":"Go left",
          "name" : "Casa Store beacon",
          "major":xxxx,
          "minor":xxxx
        },
        {
          "proximityUUID":"f7826da6-4fa2-4e98-8024-bc5b71e0893e",
          "relevantText":"Go right",
          "name" : "Casa Store beacon",
          "major":xxxx,
          "minor":xxxx
         },
        {
          "proximityUUID":"f7826da6-4fa2-4e98-8024-bc5b71e0893e",
          "relevantText":"You're near my store",
          "name" : "Casa Store beacon",
          "major":xxxx,
          "minor":xxxx
        } 
   ],
  "storeCard" : {
    "primaryFields" : [
      {
        "key" : "shop",
        "label" : "SHOPNAME",
        "value" : "CASA"
      }
    ],
    "secondaryFields" : [
      {
        "key" : "balance",
        "label" : "remaining balance",
        "value" : 2.35,
        "currencyCode" : "EUR"
      }
    ],
    "auxiliaryFields" : [
      {
        "key" : "deal",
        "label" : "Deal of the Day",
        "value" : "Lemons"
      }
    ]
  }
}

Il suffit de spécifier les beacons (proximityUUID/major/minor) et le message qui apparaîtra dans la notification à l’approche du beacon.
Si vous souhaitez utiliser la latitude et longitude, vous pouvez ajouter l’attribut locations (avec longitude/latitude) à la place ou avec l’attribut beacons. Veuillez aussi mettre correctement le bon passTypeIdentifier définit via le portail d’Apple précédemment. Faire aussi attention au major et minor dont les valeurs ne doivent pas être entre guillemet.

Il vous reste à prendre le projet signpass dans le dossier WalletCompanionFiles que vous avez téléchargé précédemment, le builder et ensuite faire un show Finder de l’exécutable et le copier dans votre dossier qui contient tout votre projet.

Ensuite, il reste à exécuter la commande suivante:

./signpass -p shop.pass

Cette commande va créer un fichier .pkpass de votre ticket que vous avez plus qu’à envoyer par email sur votre téléphone. Vous cliquez ensuite sur le fichier joint au mail et vous pourrez le rajouter dans votre wallet. Et à l’approche d’un beacon vous recevrez une notification.

Tags: passbook , wallet