1. Présentation
Vos utilisateurs accèdent-ils à votre service à la fois sur des sites Web et des applications Android ? Les obliger à se connecter séparément sur chaque plate-forme crée des frictions inutiles et peut entraîner des abandons.
Digital Asset Links (DAL) résout ce problème en vous permettant de déclarer des associations entre vos sites Web et vos applications. Les gestionnaires de mots de passe, comme le Gestionnaire de mots de passe de Google, peuvent ainsi partager les mots de passe et les clés d'accès enregistrés entre eux.
Plus précisément, la configuration de votre fichier Digital Asset Links nécessite différentes relations en fonction de ce que vous souhaitez partager :
- Pour les mots de passe : l'inclusion de
delegate_permission/common.get_login_credspermet aux gestionnaires de mots de passe de partager les mots de passe enregistrés entre votre site Web et votre application. - Pour les clés d'accès : comme les clés d'accès sont strictement liées à un domaine Web spécifique, Android exige une preuve de propriété du domaine. Vous devez donc inclure
delegate_permission/common.handle_all_urls. Bien que vous puissiez reconnaître qu'il s'agit de l'autorisation utilisée pour les liens d'application Android (liens profonds), il s'agit également d'une exigence stricte pour permettre l'utilisation des clés d'accès créées sur une plate-forme sur l'autre.
Le résultat ? Les utilisateurs peuvent se connecter de manière transparente sur vos plates-formes affiliées à l'aide des mots de passe ou des clés d'accès enregistrés pour l'une d'elles.

L'implémentation du partage continu d'identifiants peut améliorer considérablement l'expérience utilisateur. Par exemple, eBay a enregistré une augmentation de 10 % du taux de connexion après avoir implémenté DAL pour le partage d'identifiants.
Dans cet atelier de programmation, vous apprendrez à utiliser Digital Asset Links pour activer le partage d'identifiants entre votre site Web et votre application Android.
Prérequis
- Connaissances de base en JSON et en développement Android.
- Familiarisation avec les prérequis du Gestionnaire d'identifiants Android.
Points abordés
- Comment configurer le partage d'identifiants à l'aide de la Google Play Console (recommandé)
- Comment créer manuellement un fichier
assetlinks.json - Comment configurer une application Android pour une association manuelle
- Comment activer les clés d'accès sur une application Android en l'associant à un domaine de site Web
- Comment utiliser des outils pour générer et valider votre configuration
Ce dont vous avez besoin
- Un site Web : possibilité d'héberger un fichier JSON à l'adresse
https://{your-domain}/.well-known/assetlinks.json. - Une application Android :
- Pour la méthode Play Console : une application publiée sur Google Play.
- Pour la méthode manuelle : un projet Android que vous pouvez modifier et créer. Notez que pour que le partage d'identifiants avec le Gestionnaire de mots de passe de Google fonctionne, l'application doit être publiée sur Google Play.
Fonctionnement
Pour que le partage d'identifiants fonctionne, vous devez établir une confiance bidirectionnelle :
- Web -> Application : votre site Web doit héberger un fichier
assetlinks.jsondéclarant qu'il fait confiance à votre application Android. - Application -> Web : votre application Android doit être configurée pour faire confiance à votre site Web.
Nous allons aborder deux façons de procéder : la méthode automatique à l'aide de la Google Play Console (recommandée) et la méthode manuelle à l'aide de Digital Asset Links directement.
2. Configuration à l'aide de la Google Play Console (recommandée)
La méthode la plus simple pour activer le partage d'identifiants entre votre site Web et votre application Android consiste à utiliser la Google Play Console. Cette méthode vous permet d'associer votre application à votre site Web sans avoir à modifier le fichier manifeste de votre application ni à publier une nouvelle version de votre application. Google Play gère l'association côté application pour vous.
Prérequis
- Autorisations Play Console pour accéder à la page Liens profonds.
- Possibilité de publier un fichier
/.well-known/assetlinks.jsonsur votre domaine.
Pour en savoir plus sur les liens profonds, consultez Liens d'application Android.
Étapes
- Dans la Play Console, accédez à Croissance > Liens profonds.
- Si votre domaine n'est pas listé, cliquez sur Ajouter un domaine sous Configuration de l'application.
- Recherchez votre domaine, puis localisez la colonne Partage d'identifiants. Cliquez sur Activer (ou assurez-vous que l'option Activer le partage d'identifiants est activée pour les nouveaux domaines).
- Copiez l'extrait JSON généré par la Play Console.
- Publiez ce contenu JSON sur
https://{your-domain}/.well-known/assetlinks.json. (Si vous possédez déjà ce fichier, ajoutez-y la nouvelle instruction.) - De retour dans la Play Console, cliquez sur Créer une association de site Web ou Activer le partage d'identifiants.
La Play Console va maintenant vérifier votre configuration d'hébergement.

Pour que le partage d'identifiants fonctionne, votre hôte de site Web doit répondre aux exigences suivantes :
- L'URL est accessible via HTTPS.
- Le serveur répond avec
Content-Type: application/json. - L'URL est accessible sans redirection.
Une fois la vérification effectuée, le partage d'identifiants est actif. La prise en compte des modifications de configuration peut prendre une à deux semaines.
3. Configuration manuelle à l'aide de Digital Asset Links
Besoin de plus de contrôle ? Ou vous n'avez pas accès à la Play Console ? Vous pouvez configurer manuellement le partage d'identifiants entre votre site Web et votre application Android. Cela implique deux tâches principales : héberger le fichier JSON sur votre site et mettre à jour le fichier manifeste de votre application Android.
1. Obtenir l'empreinte numérique de votre application
Avant de configurer le partage continu d'identifiants, assurez-vous de disposer des éléments suivants pour chaque plate-forme :
Pour chaque application Android :
- L'ID d'application Android, tel qu'il est déclaré dans le fichier
build.gradlede l'application. - Les empreintes SHA256 du certificat de signature.
- (Recommandé) Connexion utilisateur implémentée avec l'API Gestionnaire d'identifiants.
2. Créer le fichier d'association
Vous devez créer un fichier assetlinks.json qui déclare les relations entre votre site Web et votre application. Utilisez delegate_permission/common.get_login_creds pour accorder l'autorisation de partager des mots de passe et delegate_permission/common.handle_all_urls pour activer les liens profonds et partager des clés d'accès.
Créez un fichier nommé assetlinks.json avec le contenu suivant. Remplacez les exemples de valeurs par l'URL de votre propre site, le nom de package et l'empreinte :
[{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}]
3. Héberger le fichier
Importez votre fichier assetlinks.json dans le répertoire .well-known à la racine de votre domaine.
Zone géographique : https://{your-domain}/.well-known/assetlinks.json
Pour que le partage d'identifiants fonctionne, votre hôte de site Web doit répondre aux exigences suivantes :
- L'URL est accessible via HTTPS.
- Le serveur répond avec
Content-Type: application/json. - L'URL est accessible sans redirection.

4. Configurer votre application Android
Indiquez maintenant à votre application Android qu'elle doit faire confiance au site Web. Vous allez ajouter une référence dans le fichier manifeste qui pointe vers un fichier de ressources contenant votre URL assetlinks.json.
1. Ajouter une ressource de chaîne
Dans res/values/strings.xml, ajoutez une nouvelle chaîne asset_statements. Notez les guillemets d'échappement.
<resources>
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://www.example.com/.well-known/assetlinks.json\"
}]
</string>
</resources>
2. Ajouter des métadonnées au fichier manifeste
Dans AndroidManifest.xml, ajoutez une balise <meta-data> dans l'élément <application> qui référence cette ressource de chaîne :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<meta-data
android:name="asset_statements"
android:resource="@string/asset_statements" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Une fois ces étapes effectuées et une nouvelle version de votre application Android publiée, les gestionnaires de mots de passe compatibles avec Digital Asset Links (comme le Gestionnaire de mots de passe de Google) pourront suggérer les identifiants enregistrés pour www.example.com lorsque l'utilisateur tentera de se connecter à com.example.app, et vice versa.
4. Vérifier votre configuration
Avant de procéder à l'expédition, il est essentiel de vérifier votre configuration Digital Asset Links. Les fichiers JSON incorrects ou inaccessibles échoueront de manière silencieuse.
Utilisez l'outil officiel Générateur et validateur d'instructions.

- Saisissez le domaine de votre site et le nom de package de l'application.
- Cliquez sur Tester l'instruction.
- L'outil vérifiera si le fichier
assetlinks.jsonest hébergé correctement et s'il contient l'association valide.
5. Partager des identifiants entre plusieurs sites Web

Si plusieurs de vos sites Web partagent le même système de connexion (par exemple, example.com et example.co.uk), vous pouvez les déclarer comme affiliés afin que les identifiants puissent être partagés entre eux.
Partager des mots de passe entre plusieurs sites Web
Pour partager des mots de passe entre des sites Web, vous pouvez déclarer une association web-à-web à l'aide de delegate_permission/common.get_login_creds.
Par exemple, pour que example.com partage des mots de passe avec example.co.uk, le fichier assetlinks.json hébergé sur https://example.com/.well-known/assetlinks.json doit inclure une instruction ciblant example.co.uk :
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://example.co.uk"
}
}]
De même, https://example.co.uk/.well-known/assetlinks.json doit inclure une instruction ciblant example.com.
Partager des clés d'accès entre plusieurs sites Web
Pour autoriser plusieurs sites Web à partager les mêmes clés d'accès, ils doivent utiliser le même ID de partie de confiance (RP ID). Dans WebAuthn et les clés d'accès, l'ID de partie de confiance spécifie le champ d'application d'un identifiant par nom de domaine. Lorsque vous créez une clé d'accès, elle est liée à un ID de partie de confiance spécifique et ne peut être utilisée que sur les domaines qui entrent dans le champ d'application de cet ID. Définir correctement votre ID de partie de confiance garantit une expérience de clé d'accès fluide sur les sous-domaines, les origines intersites et les applications mobiles propriétaires. Pour en savoir plus sur la définition de l'ID de partie de confiance, consultez Comprendre l'ID de partie de confiance (RP ID). Avec les requêtes d'origine associée, un site Web peut spécifier d'autres origines autorisées à utiliser son ID de partie de confiance, ce qui permet aux utilisateurs de réutiliser la même clé d'accès sur plusieurs sites que vous exploitez. Notez que cela est différent du partage de clés d'accès entre un site Web et une application Android, qui utilise delegate_permission/common.handle_all_urls dans Digital Asset Links.
Par exemple, si vous souhaitez que example.com et example.co.uk partagent des clés d'accès, vous pouvez décider que example.com sera l'ID de partie de confiance canonique. Pour que cela fonctionne, example.co.uk doit utiliser rpId: 'example.com' dans ses appels d'API WebAuthn, et example.com doit héberger un fichier à l'adresse https://example.com/.well-known/webauthn pour autoriser example.co.uk :
{
"origins": [
"https://example.co.uk"
]
}
example.co.uk peut ainsi créer et utiliser des clés d'accès associées à example.com.
6. Conclusion
Félicitations ! Vous avez configuré le partage continu d'identifiants.
Vos utilisateurs peuvent désormais enregistrer un mot de passe et une clé d'accès sur votre site Web et les utiliser pour se connecter à votre application Android en un seul geste (et vice versa). Cette simple modification peut augmenter considérablement vos taux de conversion de connexion et la satisfaction des utilisateurs.
Étape suivante
- Consultez la documentation officielle de Digital Asset Links.
- En savoir plus sur les principes de base du partage d'identifiants.
- Lisez l'étude de cas eBay pour en voir l'impact.