App-Links verwenden

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.

  • 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.json prüfen: Die Datei muss eine gültige JSON-Datei sein, unter https://<your-domain>/.well-known/assetlinks.json zugä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_fingerprints in assetlinks.json genau 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.
    • autoVerify prüfen: Achten Sie darauf, dass die <intent-filter> in Ihrer AndroidManifest.xml android:autoVerify="true enthält.
    • 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 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.json 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 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.

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 wie example.com bereitstellt.

Serverseitige Weiterleitungen

Das System überprüft keine Android App Links für Ihre App, wenn Sie eine Weiterleitung wie die folgende einrichten:

  • http://example.com bis https://example.com
  • example.com bis www.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.json enthalten.
  • 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.

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.