Android-App-Links hinzufügen

Android-App-Links sind HTTP-URLs, über die Nutzer direkt zu bestimmten Inhalten in Ihrer Android-App gelangen. Android-App-Links können mehr Zugriffe auf Ihre App generieren, Ihnen dabei helfen zu erkennen, welche App-Inhalte am häufigsten verwendet werden, und es Nutzern leichter zu machen, Inhalte in einer installierten App zu finden und zu teilen.

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

  1. Erstellen Sie in Ihrem Manifest Intent-Filter.
  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 Vorgang mithilfe eines schrittweisen Assistenten, der unten beschrieben wird.

Weitere Informationen zur Funktionsweise und den Vorteilen von App-Links findest du unter Android-App-Links.

Intent-Filter hinzufügen

Mit dem App-Link-Assistenten in Android Studio können Sie Intent-Filter in Ihrem Manifest erstellen und vorhandene URLs Ihrer Website Aktivitäten in Ihrer App zuordnen. Außerdem fügt der App-Link-Assistent in jede entsprechende Aktivität Vorlagencode ein, um den Intent zu verarbeiten.

So fügen Sie Intent-Filter und die URL-Verarbeitung hinzu:

  1. Wählen Sie Tools > App-Link-Assistent aus.
  2. Klicken Sie auf URL-Zuordnungs-Editor ö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üge grundlegende Details zur Linkstruktur deiner Website hinzu, um URLs den Aktivitäten in deiner 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, path, pathPrefix oder pathPattern hinzu.

      Wenn Sie beispielsweise eine App zum Teilen von Rezepten mit allen in derselben Aktivität verfügbaren Rezepten haben und sich die Rezepte auf der entsprechenden Website alle im selben Verzeichnis /recipe befinden, verwenden Sie pathPräfix 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 im folgenden Schritt auswählen.

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

    Das Fenster mit dem URL-Zuordnungs-Editor wird angezeigt. Der App-Link-Assistent fügt der Datei AndroidManifest.xml basierend auf Ihrer URL-Zuordnung Intent-Filter 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 Toolfenster des App-Link-Assistenten werden auch alle vorhandenen Deeplinks in der AndroidManifest.xml-Datei angezeigt. Außerdem können Sie Fehlkonfigurationen schnell beheben, indem Sie auf Alle Manifestprobleme beheben klicken.

    Mit dem App-Link-Assistenten können Sie Fehlkonfigurationen im Manifest beheben.

    Hinweis:Wenn du zukünftige Links unterstützen möchtest, ohne deine App zu aktualisieren, musst du eine URL-Zuordnung definieren, die URLs unterstützt, die du hinzufügen möchtest. Gib auch eine URL für den Startbildschirm deiner App an, damit sie in den Suchergebnissen erscheint.

  4. Um zu überprüfen, ob die URL-Zuordnung ordnungsgemäß funktioniert, geben Sie eine URL in das Feld URL-Zuordnung prüfen ein.

    Wenn es richtig funktioniert, zeigt die Erfolgsmeldung an, dass die von Ihnen eingegebene URL der von Ihnen ausgewählten Aktivität zugeordnet ist.

Eingehende Links verarbeiten

Nachdem Sie sich vergewissert haben, dass die URL-Zuordnung ordnungsgemäß funktioniert, fügen Sie Logik für die Verarbeitung des von Ihnen erstellten Intents hinzu:

  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-Link-Assistent fügt Ihren Aktivitäten 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 nicht vollständig. Sie müssen jetzt basierend auf dem URI in appLinkData eine Aktion ausführen, z. B. den entsprechenden Inhalt anzeigen. Für die Anwendung 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 Datei mit digitalen Assets, mit der Sie Ihre Website mit Ihrer App verknüpfen können.

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

Wenn du für deine App die Funktion Play App-Signatur verwendest, stimmt der Zertifikat-Fingerabdruck, der vom App Link Assistant erzeugt wird, normalerweise nicht mit dem Fingerabdruck auf den Nutzergeräten ü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 führen Sie die folgenden Schritte aus:

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

Abbildung 2: 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 in Ihre Digital Asset Links-Datei Unterstützung für die Anmeldung über One Tap aufnehmen möchten, wählen Sie Unterstützung der Freigabe von Anmeldedaten zwischen der App und der Website aus und geben Sie die Anmelde-URL Ihrer Website ein.Dadurch wird der Digital Asset Links-Datei der folgende String hinzugefügt, um zu erklären, dass Ihre App und Ihre Website die Anmeldedaten verwenden: delegate_permission/common.get_login_creds.

  3. Geben Sie die Signaturkonfiguration an oder wählen Sie eine Keystore-Datei aus.

    Achten Sie darauf, dass Sie die richtige Releasekonfigurations- oder Keystore-Datei für den Release-Build bzw. die Debug-Konfigurations- oder Keystore-Datei für den Debug-Build Ihrer App auswählen. Wenn Sie den Produktions-Build einrichten möchten, verwenden Sie die Releasekonfiguration. 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 erstellt hat, klicken Sie auf Datei speichern, um sie herunterzuladen.
  6. Laden Sie die Datei assetlinks.json auf Ihre Website mit Lesezugriff für alle unter https://yoursite/.well-known/assetlinks.json hoch.

    Wichtig:Das System überprüft die Digital Asset Links-Datei über das verschlüsselte HTTPS-Protokoll. Achten Sie darauf, dass die Datei assetlinks.json über eine HTTPS-Verbindung zugänglich ist, unabhängig davon, ob der Intent-Filter Ihrer Anwendung https enthält.

  7. Klicke auf Verknüpfen und bestätigen, um zu prüfen, ob du die richtige Digital Asset Links-Datei an den richtigen Speicherort hochgeladen hast.

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 überprüfen Sie, ob Ihre Links die richtige Aktivität öffnen:

  1. Klicken Sie im App-Link-Assistenten auf App-Links testen.
  2. Gib die zu testende URL in das Feld URL ein, z. B. http://recipe-app.com/recipe/grilled-potato-salad.
  3. Abbildung 3: Dialogfeld App-Links testen mit einer URL, die getestet wird, und einer Erfolgsmeldung.

  4. Klicken Sie auf Run Test (Test ausführen).

Wenn die URL-Zuordnung nicht richtig eingerichtet 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 im Emulator zur angegebenen Aktivität, ohne dass das Dialogfeld zur Auswahl („App-Auswahl“) angezeigt wird. Außerdem wird im Dialogfeld App-Link-Test eine Erfolgsmeldung angezeigt (siehe Abbildung 3).

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 verbundenes Gerät oder ein virtuelles Gerät mit Android 6.0 (API-Level 23) oder höher verfügbar sein. Weitere Informationen finden Sie unter Geräte verbinden und AVD erstellen.