In diesem Leitfaden werden häufige Probleme und deren Behebung beschrieben. Du kannst auch die Fehlerbehebungstools auf der Seite „Deeplinks“ in der Play Console oder den App Links-Assistenten in Android Studio verwenden. Weitere Informationen finden Sie unter Entwicklertools für App-Links.
App-Link wird im Browser statt in der App geöffnet
- Problem: Sie klicken auf einen Link, der Ihre App öffnen soll, aber er wird in einem Webbrowser geöffnet oder es wird ein Dialogfeld zur Auswahl angezeigt.
- Lösung:
assetlinks.jsonprüfen: Die Datei muss eine gültige JSON-Datei sein, unterhttps://<your-domain>/.well-known/assetlinks.jsonzugänglich sein und über HTTPS ohne Weiterleitungen bereitgestellt werden. Verwenden Sie einen Online-Validator.- SHA‑256-Fingerabdruck überprüfen: Prüfen Sie noch einmal, ob der Eintrag
sha256_cert_fingerprintsinassetlinks.jsongenau mit dem Fingerabdruck des Signaturschlüssels für Ihren App-Release übereinstimmt. Wenn Sie die Play App-Signatur verwenden, verwenden Sie den Fingerabdruck aus der Play Console. Die Signatur sollte in Großbuchstaben geschrieben sein. autoVerifyprüfen: Achten Sie darauf, dass die<intent-filter>in IhrerAndroidManifest.xmlandroid:autoVerify="trueenthält.- Serverseitige Weiterleitungen prüfen: Weiterleitungen von
httpzuhttpsoder von einer Domain ohne „www“ zuwwwkönnen dazu führen, dass die Bestätigung fehlschlägt. - Erneute Bestätigung erzwingen: Führen Sie die ADB-Befehle im Leitfaden App-Links testen aus, um ein neues Bestätigungsergebnis zu erhalten.
- Linkauflösung diagnostizieren (Android 17 und höher): Führe
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"aus, um zu prüfen, welche Kandidaten-Apps, Manifest-Intent-Filter und Regeln für dynamische App-Links mit der URL übereinstimmen. Weitere Informationen finden Sie unter Linkauflösung mit dem Flag „debug-link“ diagnostizieren.
Dynamische Regeln werden unter Android 15 und höher nicht aktualisiert
- Problem: Sie haben die Regeln in der Datei
assetlinks.jsonaktualisiert, aber die neuen Links werden von der App nicht verarbeitet. - Lösung:
- Erneute Bestätigung erzwingen: Die zuverlässigste Methode zum Testen von Änderungen besteht darin, mit
adb shell pm verify-app-links --re-verify <your-package-name>einen erneuten Abruf zu erzwingen. - Auf Tippfehler prüfen: Prüfen Sie die Musterabgleiche in Ihren Regeln sorgfältig auf Syntaxfehler.
- Manifestfilterregeln prüfen: Prüfen Sie die Intent-Filterregeln im App-Manifest, um sicherzustellen, dass der Linkpfad nicht herausgefiltert wird. Wenn der Link herausgefiltert wird, machen Sie den Intent-Filter im App-Manifest weniger restriktiv.
- Übereinstimmende Regeln diagnostizieren (Android 17 oder höher): Führen Sie
adb shell am start --debug-link -a android.intent.action.VIEW -d "<URL>"aus, um zu prüfen, welche Regeln ausgewertet wurden, und um festzustellen, ob eine Ausschlussregel (allow = 1) das Öffnen der App verhindert hat. Weitere Informationen finden Sie unter Linkauflösung mit dem Flag „debug-link“ diagnostizieren.
- Erneute Bestätigung erzwingen: Die zuverlässigste Methode zum Testen von Änderungen besteht darin, mit
Häufige Implementierungsfehler beheben
Wenn Sie Ihre Android App Links nicht bestätigen können, prüfen Sie, ob die folgenden häufigen Fehler vorliegen. In diesem Abschnitt wird example.com als Platzhalter-Domainname verwendet. Ersetzen Sie example.com bei diesen Prüfungen durch den tatsächlichen Domainnamen Ihres Servers.
- Falsche Einrichtung des Intent-Filters
- Prüfen Sie, ob Sie eine URL, die nicht zu Ihrer App gehört, in ein
<intent-filter>-Element einfügen. - Falsche Serverkonfiguration
Prüfen Sie die JSON-Konfiguration Ihres Servers und achten Sie darauf, dass der SHA-Wert korrekt ist.
Prüfen Sie auch, ob
example.com.(mit dem nachgestellten Punkt) dieselben Inhalte wieexample.combereitstellt.- Serverseitige Weiterleitungen
Das System überprüft keine Android App Links für Ihre App, wenn Sie eine Weiterleitung wie die folgende einrichten:
http://example.combishttps://example.comexample.combiswww.example.com
Dieses Verhalten dient dem Schutz Ihrer App.
- Serverrobustheit
Prüfen Sie, ob Ihre Client-Apps eine Verbindung zu Ihrem Server herstellen können.
- Nicht überprüfbare Links
Zu Testzwecken können Sie absichtlich nicht überprüfbare Links hinzufügen. Beachten Sie, dass diese Links unter Android 11 und niedriger dazu führen, dass das System alle Android App-Links für Ihre App nicht überprüft.
- Falsche Signatur in assetlinks.json
Prüfen Sie, ob Ihre Signatur korrekt ist und mit der Signatur übereinstimmt, die zum Signieren Ihrer App verwendet wurde. Häufige Fehler sind:
- Die App wird mit einem Debug-Zertifikat signiert und nur die Release-Signatur ist in
assetlinks.jsonenthalten. - Eine Signatur in Kleinbuchstaben in
assetlinks.json. Die Signatur sollte in Großbuchstaben geschrieben sein. - Wenn Sie die Play App-Signatur verwenden, achten Sie darauf, dass Sie die Signatur verwenden, mit der Google jeden Ihrer Releases signiert. Sie können diese Details, einschließlich eines vollständigen JSON-Snippets, überprüfen, indem Sie der Anleitung zum Deklarieren von Websiteverknüpfungen folgen.
- Die App wird mit einem Debug-Zertifikat signiert und nur die Release-Signatur ist in
Fehlerbericht erstellen
Bei komplexen Problemen, die sich nur schwer reproduzieren lassen, solltest du einen Fehlerbericht erstellen und analysieren. Dies kann wertvolle Informationen zum Überprüfungsprozess und zu Fehlern auf Systemebene liefern.