Funktionen zu Verknüpfungen hinzufügen

Mit den Funktionen in shortcuts.xml können Sie angeben, welche Aktionen Nutzer ausführen können, um Ihre App zu starten und direkt eine bestimmte Aufgabe auszuführen.

Mithilfe von Funktionen in Google Assistant App-Aktionen können Entwickler beispielsweise In-App-Funktionen auf vordefinierte Intents (BIIs) ausweiten, damit Nutzer diese Funktionen per Sprachbefehl aktivieren und steuern können. Eine Funktion besteht aus dem Namen der Aktion und einer intent, die auf das Ziel in Ihrer Anwendung ausgerichtet ist und den Nutzer-Intent auflöst.

Funktionen in shortcuts.xml definieren

Sie definieren capability-Elemente in einer shortcuts.xml-Ressourcendatei in Ihrem Android-App-Entwicklungsprojekt. So definieren Sie ein capability-Element:

  1. Erstellen Sie eine shortcuts.xml-Ressource. Folgen Sie dazu der Anleitung unter Statische Verknüpfungen erstellen.
  2. Geben Sie in Ihrer Leistungsbeschreibung die folgenden erforderlichen Informationen an:

    • Funktionsname:Die Aktion, die Ihre App unterstützen soll. Weitere Informationen finden Sie in der Komponentendokumentation für die Funktion, für die Definitionsanforderungen erforderlich sind. Für die Sprachbefehle von App-Aktionen wird der BII Action ID für die Namen der Funktionen verwendet. Weitere Informationen finden Sie in der BII-Referenz. Im BII von GET_THING ist Action ID beispielsweise als actions.intent.GET_THING aufgeführt.

    • App-Ziel: Das Ziel in Ihrer App, das durch die Aktion aufgerufen wird, um die Nutzeranfrage zu erfüllen. Definieren Sie App-Ziele mit intent-Elementen, die in capability verschachtelt sind.

    • Parameterzuordnungen: Jede intent kann Parameter enthalten, die als extra-Daten der Absicht übergeben werden. Beispielsweise enthält jeder BII für App-Aktionen Felder, die Informationen darstellen, die Nutzer häufig in Suchanfragen angeben, die den BII auslösen.

Im folgenden Beispiel wird eine Funktionsdefinition in shortcuts.xml für actions.intent.START_EXERCISE gezeigt, einem BII, mit dem Nutzer per Sprachbefehl mit Assistant ein Training in einer Fitness-App starten können:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <capability android:name="actions.intent.START_EXERCISE">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.sampleApp"
      android:targetClass="com.example.sampleApp.ExerciseActivity">
      <parameter
        android:name="exercise.name"
        android:key="exerciseType"/>
    </intent>
  </capability>
</shortcuts>

Im vorherigen Beispiel bezieht sich das Attribut <capability> android:name auf das BII START_EXERCISE. Wenn ein Nutzer diese BII aufruft, indem er Assistant bittet, „Hey Google, starte einen Lauf in BeispielApp“, erfüllt Assistant die Nutzeranfrage anhand der Informationen im verschachtelten intent-Element. Die intent in diesem Beispiel definiert die folgenden Details:

  • Mit android:targetPackage wird das Zielanwendungspaket für diesen Intent festgelegt.
  • Im Feld android:targetClass wird die Zielaktivität angegeben: com.example.sampleApp.ExerciseActivity.
  • Im Intent parameter wird die Unterstützung eines BII-Parameters exercise.name erklärt und wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten in der intent übergeben wird.

Verknüpfungen mit einer Funktion verknüpfen

Nachdem Sie eine Funktion definiert haben, können Sie ihre Funktionalität erweitern, indem Sie ihr statische oder dynamische Tastenkürzel zuweisen. Wie Verknüpfungen mit einem capability verknüpft werden, hängt von der implementierten Funktion und den Wörtern ab, die in der Anfrage eines Nutzers enthalten sind. Beispiel: Ein Nutzer startet einen Lauf in deiner Fitness-Tracking-App, indem er Assistant fragt: „Hey Google, starte einen Lauf in ExampleApp.“ Assistant kann eine Verknüpfung verwenden, um eine Instanz eines capability zu starten, die eine gültige Trainingsentität „laufen“ für den exercise.name-Parameter definiert.

Weitere Informationen zum Verknüpfen von Verknüpfungen mit App-Aktionen finden Sie unter App Actions – Übersicht.