Ce guide décrit les problèmes courants et explique comment les résoudre. Vous pouvez également utiliser les outils de dépannage sur la page "Liens profonds" de la Play Console ou l'Assistant pour les liens vers des applications d'Android Studio. Pour en savoir plus, consultez Outils pour les développeurs pour les liens vers des applications.
Le lien de l'application s'ouvre dans le navigateur au lieu de l'application
- Problème : vous cliquez sur un lien qui devrait ouvrir votre application, mais il s'ouvre dans un navigateur Web ou affiche une boîte de dialogue de clarification.
- Solution :
- Vérifiez
assetlinks.json: assurez-vous que le fichier est un fichier JSON valide, accessible à l'adressehttps://<your-domain>/.well-known/assetlinks.jsonet diffusé par HTTPS sans redirection. Utilisez un outil de validation en ligne. - Vérifiez l'empreinte SHA-256 : vérifiez que
sha256_cert_fingerprintsdansassetlinks.jsoncorrespond exactement à l'empreinte de la clé de signature de la version de votre application (utilisez celle de la Play Console si vous utilisez la signature d'application Play). La signature doit être en majuscules. - Vérifiez
autoVerify: assurez-vous que le<intent-filter>de votreAndroidManifest.xmlinclutandroid:autoVerify="true". - Vérifiez les redirections côté serveur : les redirections de
httpvershttpsou d'un domaine sans www verswwwpeuvent entraîner l'échec de la validation. - Forcez une nouvelle validation : exécutez les commandes ADB du guide Tester les liens vers une application pour obtenir un nouveau résultat de validation.
- Diagnostiquer la résolution des liens (Android 17 et versions ultérieures) : exécutez
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"pour inspecter les applications candidates, les filtres d'intent du fichier manifeste et les règles de liens dynamiques vers une application qui correspondent à l'URL. Pour en savoir plus, consultez Diagnostiquer la résolution des liens avec l'option debug-link.
- Vérifiez
Les règles dynamiques ne se mettent pas à jour sur Android 15 ou version ultérieure
- Problème : vous avez mis à jour les règles de votre fichier
assetlinks.json, mais les nouveaux liens ne sont pas gérés par l'application. - Solution :
- Forcez une nouvelle validation : la méthode la plus fiable pour tester les modifications consiste à forcer une nouvelle extraction avec
adb shell pm verify-app-links --re-verify <your-package-name>. - Vérifiez les fautes de frappe : examinez attentivement les correspondances de schéma dans vos règles pour détecter les erreurs de syntaxe.
- Vérifiez les règles de filtrage du fichier manifeste : examinez les règles de filtrage des intents dans le fichier manifeste de l'application pour vous assurer que le chemin du lien n'est pas filtré. Si le lien est filtré, corrigez le filtre d'intent dans le fichier manifeste de l'application pour qu'il soit moins restrictif.
- Diagnostiquer les règles de correspondance (Android 17 et versions ultérieures) : exécutez
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"pour inspecter les règles qui ont été évaluées et déterminer si une règle d'exclusion (allow = 1) a empêché l'ouverture de l'application. Consultez Diagnostiquer la résolution des liens avec l'option debug-link.
- Forcez une nouvelle validation : la méthode la plus fiable pour tester les modifications consiste à forcer une nouvelle extraction avec
Corriger les erreurs d'implémentation courantes
Si vous ne parvenez pas à valider vos liens vers une application Android, vérifiez les erreurs courantes suivantes. Cette section utilise example.com comme espace réservé pour le nom de domaine. Lorsque vous effectuez ces vérifications, remplacez example.com par le nom de domaine réel de votre serveur.
- Configuration incorrecte du filtre d'intent
- Vérifiez si vous incluez une URL qui n'appartient pas à votre application dans un élément
<intent-filter>. - Configuration incorrecte du serveur
Vérifiez la configuration JSON de votre serveur et assurez-vous que la valeur SHA est correcte.
Vérifiez également que
example.com.(avec le point final) diffuse le même contenu queexample.com.- Redirections côté serveur
Le système ne valide aucun lien vers une application Android pour votre application si vous configurez une redirection telle que celle-ci :
- De
http://example.comàhttps://example.com - De
example.comàwww.example.com
Cela permet de protéger la sécurité de votre application.
- De
- Robustesse du serveur
Vérifiez si vos applications clientes peuvent se connecter à votre serveur.
- Liens non vérifiables
À des fins de test, vous pouvez ajouter intentionnellement des liens non vérifiables. N'oubliez pas que, sur Android 11 ou version antérieure, ces liens empêchent le système de valider tous les liens vers une application Android pour votre application.
- Signature incorrecte dans assetlinks.json
Vérifiez que votre signature est correcte et correspond à celle utilisée pour signer votre application. Voici quelques erreurs courantes :
- Signer l'application avec un certificat de débogage et n'avoir que la signature de version dans
assetlinks.json. - Signer en minuscules dans
assetlinks.json. La signature doit être en majuscules. - Si vous utilisez la signature d'application Play, assurez-vous d'utiliser la signature que Google utilise pour signer chacune de vos versions. Vous pouvez valider ces informations, y compris un extrait JSON complet, en suivant les instructions sur la déclaration des associations de sites Web.
- Signer l'application avec un certificat de débogage et n'avoir que la signature de version dans
Enregistrer un rapport de bug
Pour les problèmes complexes difficiles à reproduire, générez un rapport de bug et analysez-le. Cela peut fournir des informations précieuses sur le processus de validation et les erreurs au niveau du système.