Premiers pas

Pr�sentation

Le protocole et l'API Digital�Asset�Links permettent � une application ou � un site Web de publier des instructions publiques et v�rifiables concernant d'autres applications ou sites Web. Par exemple, un site Web peut d�clarer qu'il est associ� � une application�Android sp�cifique ou qu'il souhaite partager les identifiants de l'utilisateur avec un autre site Web.

Voici quelques cas d'utilisation possibles de Digital�Asset�Links:

  • Le site Web A d�clare que les liens vers son site doivent s'ouvrir dans une application d�sign�e sur les appareils mobiles, si l'application est install�e.
  • Le site Web A d�clare qu'il peut partager ses identifiants utilisateur Chrome avec le site Web B, afin que l'utilisateur n'ait pas � se connecter au site Web B s'il est connect� au site Web A.
  • L'application A d�clare qu'elle peut partager des param�tres de l'appareil, tels que la position, avec le site B.

Termes cl�s

  • Compte principal:le compte�principal correspond � l'application ou au site Web � l'origine de l'instruction. Dans Digital�Asset�Links, le principal est toujours l'application ou le site Web qui h�berge la liste de relev�s.
  • Liste d'instructions: les instructions sont contenues dans une liste d'instructions contenant une ou plusieurs instructions. Une liste d'instructions est en texte�clair et accessible au public, dans un emplacement contr�l� par le compte�principal et difficile � spoofing ou � falsifier. Il peut s'agir d'un fichier autonome ou d'une section d'un autre �l�ment plus volumineux. Par exemple, sur un site Web, il s'agit d'un fichier entier. Dans une application�Android, il s'agit d'une section du fichier�manifeste de l'application. Les d�clarations peuvent �tre visualis�es et v�rifi�es par n'importe qui, � l'aide de m�thodes non propri�taires. Pour en savoir plus, consultez la documentation concernant la liste d'instructions.
  • Instruction : une instruction est une construction JSON tr�s structur�e qui se compose d'une relation (ce qu'elle indique � faire, par exemple "Activer le partage d'identifiants") et d'une cible (le site Web ou l'application auquel la relation s'applique). Par cons�quent, chaque �nonc� est semblable � une phrase, o� le principal indique relation concernant cible.
  • Consommateur d'instructions:un client d'instructions demande une liste d'instructions � un compte�principal, v�rifie la pr�sence d'une instruction par rapport � un compte�principal donn� et, si elle existe, peut effectuer l'action sp�cifi�e. Pour en savoir plus, consultez la documentation relative � l'instruction.

Exemple d'utilisation rapide

Voici un exemple tr�s simplifi� illustrant comment le site Web www.example.com peut utiliser Digital�Asset�Links pour indiquer que tous les liens vers des URL de ce site doivent s'ouvrir dans une application d�sign�e plut�t que dans le navigateur:

  1. Le site Web www.example.com publie une liste de d�clarations � l'adresse https://www.example.com/.well-known/assetlinks.json. Il s'agit du nom et de l'emplacement officiels d'une liste de relev�s sur un site. Les listes de relev�s � un autre emplacement, ou sous un autre nom, ne sont pas valides pour ce site. Dans notre exemple, la liste d'instructions se compose d'une instruction qui accorde � son application�Android l'autorisation d'ouvrir des liens sur son site :
    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target" : { "namespace": "android_app", "package_name": "com.example.app",
                   "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
    }]
    Une liste d'instructions accepte un tableau d'instructions entre les marques [ ], mais notre exemple de fichier ne contient qu'une seule instruction. sha256_cert_fingerprints est l'empreinte SHA256 du certificat de signature de votre application. Pour en savoir plus, consultez la documentation Android�App�Links.
  2. L'application�Android r�pertori�e dans l'instruction ci-dessus comporte un filtre d'intent qui sp�cifie le sch�ma, l'h�te et le format de chemin des URL qu'elle souhaite g�rer: dans ce cas, https://www.example.com. Le filtre d'intent inclut un attribut sp�cial android:autoVerify, nouveau sur Android M, qui indique qu'Android doit v�rifier l'instruction sur le site Web d�crit dans le filtre d'intent lorsque l'application est install�e.
  3. Un utilisateur installe l'application. Android voit le filtre d'intent avec l'attribut autoVerify et v�rifie la pr�sence de la liste d'instructions sur le site sp�cifi�. Le cas �ch�ant, Android v�rifie si ce fichier inclut une instruction accordant la gestion des liens � l'application et v�rifie l'application par rapport � l'instruction par hachage de certificat. Si tout est correct, Android transmet les intents https://www.example.com à l'application example.com.
  4. L'utilisateur clique sur un lien vers https://www.example.com/chiots sur son appareil. Ce lien peut se trouver n'importe où: dans un navigateur, dans une suggestion Google Search Appliance ou ailleurs. Android transmet l'intent à l'application example.com.
  5. L'application example.com reçoit l'intent et choisit de le gérer, en ouvrant la page des chiots dans l'application. Si, pour une raison quelconque, l'application a refusé de gérer le lien ou si l'application n'était pas installée sur l'appareil, le lien aurait été envoyé au prochain gestionnaire d'intent par défaut correspondant à ce modèle d'intent (souvent le navigateur).

Remarques et limites importantes:

  • Le protocole n'authentifie pas le compte principal qui effectue l'instruction, mais l'instruction est située dans un emplacement spécifique fortement associé à ce compte principal et sous son contrôle.
  • Le protocole n'authentifie pas la cible de l'instruction, mais il permet à l'appelant d'authentifier la cible (par exemple, une instruction identifie les cibles d'applications mobiles par hachage de certificat et nom de package).
  • Le protocole n'exécute aucune action d'instruction de manière native. Il permet plutôt d'exposer les instructions, qu'une application consommatrice doit valider avant de décider si elle doit agir et comment. Android M effectue ces étapes de manière native pour vous. Par exemple, si un site Web délègue la gestion des liens à une application spécifique, Android vérifie et valide l'instruction, valide l'application cible, puis propose à l'application de gérer le lien donné.
  • Le protocole ne permet pas de faire des déclarations concernant deux tiers: en d'autres termes, le site Web A peut faire une déclaration concernant le site Web B, mais le site Web A ne peut pas faire de déclaration concernant la relation entre le site Web B et le site C. Toutefois, si le site Web B fait confiance au site Web A, il peut vérifier si le site Web A contient une déclaration accordant l'autorisation au site C et décider de mettre en œuvre cette autorisation.

Étapes suivantes

  1. Vérifiez s'il existe une documentation explicite pour votre cas d'utilisation.
  2. Découvrez comment créer une déclaration.