Résoudre les problèmes liés aux liens d'application

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 dans l'assistant "Liens d'application" d'Android Studio. Pour en savoir plus, consultez Outils pour les développeurs de liens d'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'adresse https://<your-domain>/.well-known/assetlinks.json et diffusé via HTTPS sans redirection. Utilisez un outil de validation en ligne.
    • Vérifiez l'empreinte SHA-256 : vérifiez que le sha256_cert_fingerprints dans assetlinks.json correspond 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.
    • Validez autoVerify : assurez-vous que le <intent-filter> de votre AndroidManifest.xml inclut android:autoVerify="true.
    • Vérifiez les redirections côté serveur : les redirections de http vers https ou d'un domaine sans www vers www peuvent entraîner l'échec de la validation.
    • Forcer une nouvelle validation : exécutez les commandes ADB du guide Tester les liens vers une application pour obtenir un nouveau résultat de validation.

Les règles dynamiques ne sont pas mises à jour sur Android 15 ou version ultérieure

  • Problème : vous avez mis à jour les règles dans votre fichier assetlinks.json, mais les nouveaux liens ne sont pas gérés par l'application.
  • Solution :
    • Forcer la revalidation : la méthode la plus fiable pour tester les modifications consiste à forcer une nouvelle récupération avec adb shell pm verify-app-links --re-verify. <your-package-name>.
    • Vérifiez les fautes de frappe : examinez attentivement les correspondances de modèle 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é, rendez le filtre d'intent dans le fichier manifeste de l'application moins restrictif.

Corriger les erreurs d'implémentation courantes

Si vous ne parvenez pas à valider vos liens d'application Android, vérifiez les erreurs courantes suivantes. Cette section utilise example.com comme nom de domaine fictif. Lorsque vous effectuez ces vérifications, remplacez example.com par le nom de domaine réel de votre serveur.

Filtre d'intent incorrectement configuré
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 à la fin) diffuse le même contenu que example.com.

Redirections côté serveur

Le système ne valide aucun lien d'application Android pour votre application si vous configurez une redirection comme celle-ci :

  • De http://example.com à https://example.com
  • De example.com à www.example.com

Ce comportement protège la sécurité de votre application.

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 et les versions antérieures, 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 qu'elle 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.
  • Signature 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 vérifier ces informations, y compris un extrait JSON complet, en suivant les instructions sur la déclaration des associations de sites Web.