App-Links verwenden

In diesem Leitfaden werden häufige Probleme und Möglichkeiten zur Fehlerbehebung beschrieben. Sie können auch die Tools zur Fehlerbehebung auf der Seite „Deeplinks“ in der Play Console oder im App-Links-Assistenten von Android Studio verwenden. Weitere Informationen finden Sie unter App-Links-Entwicklertools.

  • Problem: Sie klicken auf einen Link, der Ihre App öffnen sollte, aber er wird in einem Web browser geöffnet oder es wird ein Dialogfeld zur Auswahl angezeigt.
  • Lösung:
    • Prüfen assetlinks.json: Achten Sie darauf, dass die Datei gültiges JSON ist, zugänglich unter https://<your-domain>/.well-known/assetlinks.json, und über HTTPS ohne Weiterleitungen bereitgestellt wird. Verwenden Sie einen Online-Validator.
    • SHA‑256-Fingerabdruck überprüfen: Prüfen Sie noch einmal, ob der Eintrag sha256_cert_fingerprints in assetlinks.json genau mit dem Fingerabdruck des Signaturschlüssels für Ihren App-Release übereinstimmt. Verwenden Sie den Fingerabdruck aus der Play Console, wenn Sie die Play App-Signatur verwenden. Die Signatur muss in Großbuchstaben angegeben sein.
    • Überprüfen Sie autoVerify: Achten Sie darauf, dass der <intent-filter> in Ihrer AndroidManifest.xml android:autoVerify="true" enthält.
    • Auf serverseitige Weiterleitungen prüfen: Weiterleitungen von http zu https oder von einer Domain ohne „www“ zu www können dazu führen, dass die Bestätigung fehlschlägt.
    • Erneute Bestätigung erzwingen: Führen Sie die ADB-Befehle im Leitfaden zum Testen von App-Links aus, um ein neues Bestätigungsergebnis zu erhalten.
    • Linkauflösung diagnostizieren (Android 17 und höher): Führen Sie 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 unter Android 15 und höher werden nicht aktualisiert

  • Problem: Sie haben die Regeln in Ihrer assetlinks.json-Datei aktualisiert, aber die neuen Links werden von der App nicht verarbeitet.
  • Lösung:
    • Erneute Bestätigung erzwingen: Die zuverlässigste Methode zum Testen von Änderungen ist, das erneute Abrufen mit zu erzwingen adb shell pm verify-app-links --re-verify <your-package-name>.
    • Auf Tippfehler prüfen: Überprüfen Sie die Mustervergleichsfunktionen in Ihren Regeln sorgfältig auf Syntaxfehler.
    • Manifest-Filterregeln prüfen: Überprü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 und 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 ob eine Ausschlussregel (allow = 1) verhindert hat, dass die App geöffnet wurde. Weitere Informationen finden Sie unter Linkauflösung mit dem Flag „debug-link“ diagnostizieren.

Häufige Implementierungsfehler beheben

Wenn Sie Ihre Android App-Links nicht bestätigen können, prüfen Sie, ob einer der folgenden häufigen Fehler vorliegt. 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 in einem <intent-filter> Element eine URL verwenden, die nicht Ihrer App gehört.
Falsche Serverkonfiguration

Prüfen Sie die JSON-Konfiguration Ihres Servers und achten Sie darauf, dass der SHA-Wert korrekt ist.

Prüfen Sie außerdem, ob example.com. (mit dem nachgestellten Punkt) dieselben Inhalte wie example.com bereitstellt.

Serverseitige Weiterleitungen

Das System bestätigt keine Android App-Links für Ihre App, wenn Sie eine Weiterleitung wie die folgende einrichten:

  • http://example.com zu https://example.com
  • example.com zu www.example.com

Dieses Verhalten schützt die Sicherheit Ihrer App.

Serverrobustheit

Prüfen Sie, ob Ihre Client-Apps eine Verbindung zu Ihrem Server herstellen können.

Nicht bestätigbare Links

Zu Testzwecken können Sie absichtlich nicht bestätigbare Links hinzufügen. Unter Android 11 und niedriger führt dies jedoch dazu, dass das System nicht alle Android App-Links für Ihre App bestätigt.

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 wurde mit einem Debug-Zertifikat signiert und in assetlinks.json ist nur die Release-Signatur vorhanden.
  • Die Signatur in assetlinks.json ist in Kleinbuchstaben angegeben. Die Signatur muss in Großbuchstaben angegeben 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 Websitezuordnungenfolgen.

Fehlerbericht erstellen

Bei komplexen Problemen, die schwer zu reproduzieren sind, können Sie einen Fehlerbericht erstellen und analysieren. So erhalten Sie wertvolle Einblicke in den Bestätigungsprozess und in Fehler auf Systemebene.