Android-App-Links hinzufügen

Android-App-Links sind HTTP-URLs, über die Nutzer direkt zu bestimmten Inhalten in Ihrer Android-App weitergeleitet werden. Mit Android-App-Links können Sie mehr Zugriffe auf Ihre App erzielen, herausfinden, welche App-Inhalte am häufigsten verwendet werden, und Nutzern das Suchen und Teilen von Inhalten in einer installierten App erleichtern.

So fügen Sie Unterstützung für Android App-Links hinzu:

  1. Erstellen Sie Intent-Filter in Ihrem Manifest.
  2. Fügen Sie den Aktivitäten Ihrer App Code hinzu, um eingehende Links zu verarbeiten.
  3. Verknüpfen Sie Ihre App und Ihre Website mit Digital Asset Links.

Der App-Link-Assistent in Android Studio vereinfacht den Prozess 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 URL-Verarbeitung hinzu:

  1. Wählen Sie Tools > App-Link-Assistent aus.
  2. Klicken Sie auf URL-Zuordnungseditor öffnen und dann unten in der Liste URL-Zuordnung auf Hinzufügen , um eine neue URL-Zuordnung hinzuzufügen.
  3. Fügen Sie Details für die neue URL-Zuordnung hinzu:

    Der App-Link-Assistent führt Sie durch die grundlegende URL-Zuordnung.

    Abbildung 1. Fügen Sie grundlegende Details zur Linkstruktur Ihrer Website hinzu, um URLs Aktivitäten in Ihrer App zuzuordnen.

    1. Geben Sie die URL Ihrer Website in das Feld Host ein.
    2. Fügen Sie für die URLs, die Sie zuordnen möchten, ein path, pathPrefix oder pathPattern hinzu.

      Wenn du beispielsweise eine App zum Teilen von Rezepten hast, in der alle Rezepte in derselben Aktivität verfügbar sind, und die Rezepte deiner entsprechenden Website alle im selben Verzeichnis /recipe liegen, verwende pathPrefix und gib /recipe ein. So wird die URL http://www.recipe-app.com/recipe/grilled-potato-salad der Aktivität zugeordnet, die Sie im folgenden Schritt auswählen.

    3. Wählen Sie die Aktivität aus, zu der die URLs Nutzer weiterleiten sollen.
    4. Klicken Sie auf OK.

    Das Fenster „URL-Zuordnungseditor“ wird angezeigt. Der App Links Assistant fügt der Datei AndroidManifest.xml Intent-Filter basierend auf Ihrer URL-Zuordnung hinzu und hebt die Änderungen im Feld Vorschau 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-Links-Assistenten werden auch alle vorhandenen Deeplinks in der Datei AndroidManifest.xml angezeigt. Durch Klicken auf Alle Manifestprobleme beheben können Sie alle Fehlkonfigurationen schnell beheben.

    Mit dem App-Link-Assistenten können Sie Fehlkonfigurationen des Manifests beheben.
    Abbildung 2. Fehlkonfigurationen des Manifests im App-Link-Assistenten beheben

    Hinweis: Wenn Sie zukünftige Links unterstützen möchten, ohne Ihre App zu aktualisieren, definieren Sie eine URL-Zuordnung, die URLs unterstützt, die Sie hinzufügen möchten. Geben Sie außerdem eine URL für den Startbildschirm Ihrer App an, damit sie in den Suchergebnissen enthalten ist.

  4. Wenn Sie prüfen möchten, ob die URL-Zuordnung ordnungsgemäß funktioniert, geben Sie eine URL in das Feld URL-Zuordnung prüfen ein.

    Wenn alles richtig funktioniert, wird in der Erfolgsmeldung angezeigt, dass die eingegebene URL der ausgewählten Aktivität zugeordnet ist.

Eingehende Links verarbeiten

Nachdem Sie überprüft haben, ob die URL-Zuordnung korrekt funktioniert, fügen Sie Logik hinzu, um den erstellten Intent zu verarbeiten:

  1. Klicken Sie im App-Link-Assistenten auf Aktivität auswählen.
  2. Wählen Sie eine Aktivität aus der Liste aus und klicken Sie auf Code einfügen.

Der App Links Assistant fügt Ihrer Aktivität Code hinzu, der in etwa so aussieht:

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 für sich allein nicht vollständig. Sie müssen jetzt eine Aktion basierend auf dem URI in appLinkData ausführen, z. B. den entsprechenden Inhalt 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 du die URL-Unterstützung für deine App eingerichtet hast, generiert der App Links Assistant eine Digital Asset Links-Datei, mit der du deine Website mit deiner App verknüpfen kannst.

Alternativ zur Verwendung der Digital Asset Links-Datei kannst du deine Website und deine App in der Search Console verknüpfen.

Wenn Sie für Ihre App die Play App-Signatur verwenden, stimmt der vom App-Links-Assistenten erstellte Zertifikat-Fingerabdruck in der Regel nicht mit dem auf den Geräten der Nutzer überein. In diesem Fall findest du das richtige Digital Asset Links-JSON-Snippet für deine App in deinem 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 Digital Asset Links File Generator öffnen und folgen Sie dieser Anleitung:

Der App-Link-Assistent führt Sie durch die grundlegende URL-Zuordnung.

Abbildung 3: Geben Sie Details zu Ihrer Website und App ein, um eine Digital Asset Links-Datei zu generieren.

  1. Geben Sie Ihre Websitedomain und Ihre Anwendungs-ID ein.
  2. Wenn Sie die Anmeldung über One Tap in Ihrer Digital Asset Links-Datei unterstützen möchten, wählen Sie Gemeinsame Nutzung von Anmeldedaten zwischen der App und der Website unterstützen aus und geben Sie die Anmelde-URL Ihrer Website ein.Dadurch wird Ihrer Digital Asset Links-Datei der folgende String hinzugefügt, der angibt, dass Ihre App und Ihre Website Anmeldedaten gemeinsam nutzen: delegate_permission/common.get_login_creds.

  3. Geben Sie die Signaturkonfiguration an oder wählen Sie eine Schlüsselspeicherdatei aus.

    Achten Sie darauf, dass Sie die richtige Release-Konfiguration oder Schlüsselspeicherdatei für den Release-Build oder die Debug-Konfiguration oder Schlüsselspeicherdatei für den Debug-Build Ihrer App auswählen. 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.

  4. Klicken Sie auf Digital Asset Links-Datei generieren.
  5. Nachdem Android Studio die Datei generiert hat, klicken Sie auf Datei speichern, um sie herunterzuladen.
  6. Laden Sie die Datei assetlinks.json auf Ihre Website hoch, sodass jeder unter https://yoursite/.well-known/assetlinks.json Lesezugriff darauf hat.

    Wichtig: Das System prüft die Digital Asset Links-Datei über das verschlüsselte HTTPS-Protokoll. Auf die assetlinks.json-Datei muss über eine HTTPS-Verbindung zugegriffen werden können, unabhängig davon, ob der Intent-Filter Ihrer App https enthält.

  7. Klicke auf Verknüpfen und bestätigen, um zu bestätigen, dass du die richtige Digital Asset Links-Datei am richtigen Ort hochgeladen hast.

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 liefert eine detaillierte Erklärung, wie Sie Fehler beheben können.

Weitere Informationen zum Verknüpfen Ihrer Website mit Ihrer App über die Digital Asset Links-Datei finden Sie unter Websiteverknüpfungen deklarieren.

Android-App-Links testen

So prüfen Sie, ob Ihre Links die richtige Aktivität öffnen:

  1. Klicken Sie im App-Link-Assistenten auf App-Links testen.
  2. Gib die URL, die du testen möchtest, in das Feld URL ein, z. B. http://recipe-app.com/recipe/grilled-potato-salad.
  3. Abbildung 4: Dialogfeld App-Links testen, in dem eine getestete URL und eine Erfolgsmeldung angezeigt werden.

  4. Klicken Sie auf Testen.

Wenn die URL-Zuordnung nicht richtig eingerichtet ist oder nicht existiert, wird im Dialogfeld App-Links testen unter der URL eine Fehlermeldung angezeigt. Andernfalls startet Android Studio Ihre App auf dem Gerät oder im Emulator mit der angegebenen Aktivität, ohne das Dialogfeld zur Mehrdeutigkeitsauflösung („App-Auswahl“) anzuzeigen. Im Dialogfeld App Link Testing wird eine Erfolgsmeldung angezeigt, wie in Abbildung 4 zu sehen.

Wenn Android Studio die App nicht starten kann, wird im Fenster Ausführen von Android Studio eine Fehlermeldung angezeigt.

Wenn Sie Android App-Links mit dem App-Links-Assistenten testen möchten, müssen Sie ein Gerät verbunden haben oder ein virtuelles Gerät mit Android 6.0 (API-Level 23) oder höher verfügbar haben. Weitere Informationen finden Sie unter Gerät verbinden oder AVD erstellen.