Créer et signer un fichier apple-app-site-association pour Handoff

Pour utiliser la Continuité sur entre vos appareils mobiles et les ordinateurs, votre site internet doit héberger un petit fichier « apple-app-site-association » qui permet à Apple de vérifier certaines choses.
Ce fichier doit être à un emplacement spécifique er respecter quelques consignes.

Handoff, inclus dans Continuité, permet d’échanger de toutes petites informations entre différents appareils afin que chacun puisse savoir où en est l’autre.

Pour faire communiquer votre site web avec votre iPhone ou votre iPad, Apple a besoin de vérifier la propriété de votre site internet.
Il est aussi essentiel de savoir quelle application mobile est concernée par votre site internet et quels sont les services que vous offrez.

Il existe 3 types d’activités que votre site internet peut proposer avec Handoff :
Applinks permet de transformer vos liens web en liens directs dans votre application.
WebCredentials offre la possibilité d’utiliser un couple login/passe issu du trousseau d’accès (depuis Safari) dans votre app.
ActivityContinuation indique que votre app peut reprendre le cours d’une activité d’un appareil sur un autre.

Voici un exemple de fichier apple-app-site-association

{
	"applinks": {"apps":[], "details":[{"appID": "XXXXXXXX.com.bddq.traffic", "paths":["/trafic/*"]}]},
	"activitycontinuation":{"apps":["XXXXXXXX.com.bddq.traffic"]}
}

Dans celui-ci, on indique que tous les liens issus de la page trafic peuvent être ouverts directement dans l’application mentionnée.
La continuité des activités peut elle seulement se déclarer pour un domaine et non pour des sous-parties.

Autre subtilité, ce fichier doit être signé numériquement. La commande suivante vous permet de signer votre fichier (json.txt) simplement. Vous devez être en possession du certificat de signature et de la clé privée associée.

json.txt | openssl smime -sign -inkey domain.key -signer domain.crt -noattr -nodetach -outform DER > apple-app-site-association

Une fois le fichier signé, il devra être déposé à la racine de votre domaine et accessible en HTTPS.
Autre information à prendre en compte, le fichier doit être renvoyé avec le Content-Type: application/pkcs7-mime.

Une fois ce fichier bien rempli, vous pouvez vous amuser avec les NSUserActivity et partager les activités entre vos appareils.

Si vous voulez tester quelques fonctionnalités de Continuité, branchez-vous sur le service CaptainTrain, une des premières sociétés françaises à communiquer et implémenter les derniers services de la Pomme. activitycontinuation et webCredentials sur CaptainTrain web et mobile.

Auteur: Benoit DELDICQUE

Actuellement en poste sur Strasbourg, je suis en charge de la conception et la réalisation d'applications iOS pour iPhone, iPad et iPod touch.

Articles similaires

Commentaires fermés.