Android-App-Links sind HTTP-URLs, über die Nutzer direkt zu bestimmten Inhalten in Ihrer Android-App gelangen. Android-App-Links können den Traffic zu Ihrer App steigern, Ihnen helfen, die am häufigsten verwendeten App-Inhalte zu ermitteln, und es Nutzern erleichtern, Inhalte in einer installierten App zu finden und zu teilen.
So fügen Sie Unterstützung für Android-App-Links hinzu:
- Erstellen Sie Intent-Filter in Ihrem Manifest.
- Fügen Sie den Aktivitäten Ihrer App Code hinzu, um eingehende Links zu verarbeiten.
- Verknüpfen Sie Ihre App und Ihre Website mit Digital Asset Links.
Der App-Link-Assistent in Android Studio vereinfacht den Vorgang mit einem Schritt-für-Schritt Assistenten, wie unten beschrieben.
Weitere Informationen zur Funktionsweise von App-Links und zu den Vorteilen, die sie bieten, finden Sie unter Android-App-Links verarbeiten.
Intent-Filter hinzufügen
Mit dem App-Link-Assistenten in Android Studio können Sie Intent-Filter in Ihrem Manifest erstellen und vorhandene URLs von Ihrer Website Aktivitäten in Ihrer App zuordnen. Der App-Link Assistent fügt außerdem in jeder entsprechenden Aktivität Vorlagencode hinzu, um den Intent zu verarbeiten.
So fügen Sie Intent-Filter und die URL-Verarbeitung hinzu:
- Wählen Sie Tools > App-Link-Assistent aus.
- Klicken Sie auf URL-Zuordnungseditor öffnen und dann unten in der Liste URL-Zuordnung auf Hinzufügen
, um eine neue URL-Zuordnung hinzuzufügen. Fügen Sie Details für die neue URL-Zuordnung hinzu:
Abbildung 1 : Fügen Sie grundlegende Details zur Linkstruktur Ihrer Website hinzu, um URLs Aktivitäten in Ihrer App zuzuordnen.
- Geben Sie die URL Ihrer Website in das Feld Host ein.
Fügen Sie einen
path,pathPrefix, oderpathPatternfür die URLs hinzu, die Sie zuordnen möchten.Wenn Sie beispielsweise eine App zum Teilen von Rezepten haben, in der alle Rezepte in derselben Aktivität verfügbar sind, und sich die Rezepte Ihrer entsprechenden Website alle im selben /recipe Verzeichnis befinden, verwenden Sie pathPrefix und geben Sie /recipe. ein. Auf diese Weise wird die URL http://www.recipe-app.com/recipe/grilled-potato-salad der Aktivität zugeordnet, die Sie in den folgenden Schritten auswählen.
- Wählen Sie die Aktivität aus, zu der die URLs Nutzer führen sollen.
- Klicken Sie auf OK.
Das Fenster „URL-Zuordnungseditor“ wird angezeigt. Der App-Link-Assistent fügt der Datei
AndroidManifest.xmlIntent-Filter basierend auf Ihrer URL-Zuordnung hinzu und hebt die Änderungen im Vorschau Feld hervor. Wenn Sie Änderungen vornehmen möchten, klicken Sie auf AndroidManifest.xml öffnen , um den Intent-Filter zu bearbeiten. Weitere Informationen finden Sie unter Intent Filter für eingehende Links.Im Hauptfenster des App-Link-Assistenten werden auch alle vorhandenen Deeplinks in der
AndroidManifest.xmlDatei angezeigt. Sie können Konfigurationsfehler schnell beheben, indem Sie auf Alle Manifestprobleme beheben klicken.
Hinweis: Wenn Sie zukünftige Links unterstützen möchten, ohne Ihre App aktualisieren zu müssen, definieren Sie eine URL-Zuordnung, die die URLs unterstützt, die Sie hinzufügen möchten. Fügen Sie außerdem eine URL für den Startbildschirm Ihrer App hinzu, damit sie in den Suchergebnissen angezeigt wird.
Wenn Sie prüfen möchten, ob Ihre URL-Zuordnung ordnungsgemäß funktioniert, geben Sie eine URL in das Feld URL-Zuordnung prüfen ein.
Wenn alles richtig funktioniert, wird in der Erfolgs meldung angezeigt, dass die eingegebene URL der ausgewählten Aktivität zugeordnet ist.
Eingehende Links verarbeiten
Nachdem Sie geprüft haben, ob Ihre URL-Zuordnung richtig funktioniert, fügen Sie Logik hinzu, um den erstellten Intent zu verarbeiten:
- Klicken Sie im App-Link-Assistenten auf Aktivität auswählen.
- Wählen Sie eine Aktivität aus der Liste aus und klicken Sie auf Code einfügen.
Der App-Link-Assistent fügt Ihrer Aktivität Code hinzu, der dem folgenden ähnelt:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... // ATTENTION: This was auto-generated to handle app links. val appLinkIntent: Intent = intent val appLinkAction: String? = appLinkIntent.action val appLinkData: Uri? = appLinkIntent.data ... }
Java
@Override void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... // ATTENTION: This was auto-generated to handle app links. Intent appLinkIntent = getIntent(); String appLinkAction = appLinkIntent.getAction(); Uri appLinkData = appLinkIntent.getData(); ... }
Dieser Code ist allein nicht vollständig. Sie müssen jetzt eine Aktion basierend auf der URI in
appLinkData, z. B. die entsprechenden Inhalte anzeigen. Für die
App zum Teilen von Rezepten könnte Ihr Code beispielsweise so aussehen:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... handleIntent(intent) } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) handleIntent(intent) } private fun handleIntent(intent: Intent) { val appLinkAction = intent.action val appLinkData: Uri? = intent.data if (Intent.ACTION_VIEW == appLinkAction) { appLinkData?.lastPathSegment?.also { recipeId -> Uri.parse("content://com.recipe_app/recipe/") .buildUpon() .appendPath(recipeId) .build().also { appData -> showRecipe(appData) } } } }
Java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... handleIntent(getIntent()); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { String appLinkAction = intent.getAction(); Uri appLinkData = intent.getData(); if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){ String recipeId = appLinkData.getLastPathSegment(); Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon() .appendPath(recipeId).build(); showRecipe(appData); } }
App mit Ihrer Website verknüpfen
Nachdem Sie die URL-Unterstützung für Ihre App eingerichtet haben, generiert der App-Link-Assistent eine Digital Assets Links-Datei, mit der Sie Ihre Website mit Ihrer App verknüpfen können.
Alternativ zur Verwendung der Digital Asset Links-Datei können Sie Ihre Website und App in der Search Console verknüpfen.
Wenn Sie die Play App- Signierung für Ihre App verwenden, stimmt der vom App-Link-Assistenten erstellte Zertifikat-Fingerabdruck in der Regel nicht mit dem auf den Geräten der Nutzer überein. In diesem Fall finden Sie das richtige Digital Asset Links-JSON-Snippet für Ihre App in Ihrem Play Console-Entwicklerkonto unter Release > Setup > App signing.
Wenn Sie Ihre App und Ihre Website mit dem App-Link-Assistenten verknüpfen möchten, klicken Sie im App-Link-Assistenten auf Open Digital Asset Links File Generator und führen Sie die folgenden Schritte aus:
Abbildung 2 : Geben Sie Details zu Ihrer Website und App ein, um eine Digital Asset Links-Datei zu generieren.
- Geben Sie Ihre Website-Domain und Ihre Anwendungs ID ein.
Wenn Sie in Ihrer Digital Asset Links-Datei Unterstützung für die Anmeldung über One Tap einbeziehen möchten, wählen Sie Anmeldedaten zwischen der App und der Website teilen aus und geben Sie die Anmelde-URL Ihrer Website ein.Dadurch wird der folgenden String zu Ihrer Digital Asset Links-Datei hinzugefügt, der angibt, dass Ihre App und Website Anmeldedaten gemeinsam nutzen:
delegate_permission/common.get_login_creds.Geben Sie die Signaturkonfiguration an oder wählen Sie eine Keystore-Datei aus.
Wählen Sie die richtige Release-Konfiguration oder Keystore-Datei für den Release-Build oder die Debug-Konfiguration oder Keystore-Datei für den Debug-Build Ihrer App aus. Wenn Sie Ihren Produktions-Build einrichten möchten, verwenden Sie die Release-Konfiguration. Wenn Sie Ihren Build testen möchten, verwenden Sie die Debug-Konfiguration.
- Klicken Sie auf Digital Asset Links-Datei generieren.
- Sobald Android Studio die Datei generiert hat, klicken Sie auf Datei speichern , um sie herunterzuladen.
- Laden Sie die Datei
assetlinks.jsonauf Ihre Website hoch. Sie muss für alle unterhttps://yoursite/.well-known/assetlinks.jsonlesbar sein.Wichtig: Das System überprüft die Digital Asset Links-Datei über das verschlüsselte HTTPS-Protokoll. Die Datei
assetlinks.jsonmuss über eine HTTPS-Verbindung zugänglich sein, unabhängig davon, ob der Intent-Filter Ihrer Apphttpsenthält. - Klicken Sie auf Verknüpfen und bestätigen , um zu bestätigen, dass Sie die richtige Digital Asset Links-Datei an den richtigen Ort hochgeladen haben.
Der App-Link-Assistent kann die Digital Asset Links-Datei validieren, die auf Ihrer Website veröffentlicht werden soll. Für jede Domain, die in der Manifestdatei deklariert ist, parst der Assistent die Datei auf Ihrer Website, führt Validierungsprüfungen durch und bietet eine detaillierte Erklärung zur Behebung von Fehlern.
Weitere Informationen zum Verknüpfen Ihrer Website mit Ihrer App über die Digital Asset Links-Datei finden Sie unter Website -Verknüpfungen deklarieren.
Android-App-Links testen
So prüfen Sie, ob Ihre Links die richtige Aktivität öffnen:
- Klicken Sie im App-Link-Assistenten auf App-Links testen.
- Geben Sie die URL, die Sie testen möchten, in das Feld URL ein, z. B. http://recipe-app.com/recipe/grilled-potato-salad.
- Klicken Sie auf Test ausführen.
Abbildung 3 : App-Links testen-Dialogfeld , in dem eine URL getestet wird und eine Erfolgsmeldung angezeigt wird.
Wenn die URL-Zuordnung nicht richtig eingerichtet ist oder nicht vorhanden ist, wird im Dialogfeld App-Links testen unter der URL eine Fehlermeldung angezeigt. Andernfalls startet Android Studio Ihre App auf dem Gerät oder Emulator in der angegebenen Aktivität, ohne das Dialogfeld zur Auswahl der App anzuzeigen, und zeigt im App-Link-Test Dialogfeld eine Erfolgsmeldung an, wie in Abbildung 3 dargestellt.
Wenn Android Studio die App nicht starten kann, wird im Fenster Ausführen von Android Studio eine Fehlermeldung angezeigt.
Wenn Sie Android-App-Links über den App-Link-Assistenten testen möchten, muss ein Gerät angeschlossen oder ein virtuelles Gerät mit Android 6.0 (API-Level 23) oder höher verfügbar sein. Weitere Informationen finden Sie unter Gerät anschließen oder AVD erstellen.