Funktionen zu Verknüpfungen hinzufügen

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

Bei Google Assistant App Actions werden beispielsweise Funktionen verwendet, mit denen Entwickler In‑App-Funktionen auf integrierte Intents (Built-in Intents, BIIs) ausweiten können. So können Nutzer diese Funktionen über Sprachbefehle aktivieren und steuern. Eine Funktion besteht aus dem Namen der Aktion und einem intent, das auf das Ziel in Ihrer App verweist, mit dem die Nutzerabsicht erfüllt wird.

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 die folgenden erforderlichen Informationen in Ihrer Funktion an:

    • Name der Funktion:Die Aktion, die Ihre App unterstützen soll. Weitere Informationen finden Sie in der Komponentendokumentation für die Funktion, für die Capability-Definitionen erforderlich sind. Für Sprachbefehle für App Actions wird der BII Action ID für Funktionsnamen verwendet. Diese finden Sie in der BII-Referenz. Im BII GET_THING wird beispielsweise Action ID als actions.intent.GET_THING aufgeführt.

    • App-Ziel:Das Ziel in Ihrer App, zu dem die Aktion gestartet wird, um die Nutzeranfrage zu erfüllen. App-Ziele werden mit intent-Elementen definiert, die in capability verschachtelt sind.

    • Parameterzuordnungen:Jede intent kann Parameter enthalten, die als extra-Daten des Intents übergeben werden sollen. Jedes App Actions-BII enthält beispielsweise Felder, die Informationen darstellen, die Nutzer häufig in Abfragen angeben, die das BII auslösen.

Im folgenden Beispiel wird eine Funktionsdefinition in shortcuts.xml für actions.intent.START_EXERCISE veranschaulicht. Mit diesem BII können Nutzer per Sprachbefehl über Assistant ein Training in einer Fitness-App starten:

<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 verweist das Attribut <capability> android:name auf den BII START_EXERCISE. Wenn ein Nutzer diesen BII aufruft, indem er Assistant fragt: Hey Google, starte einen Lauf in ExampleApp, erfüllt Assistant die Nutzeranfrage anhand der Informationen, die im verschachtelten intent-Element angegeben sind. Im intent in diesem Beispiel werden die folgenden Details definiert:

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

Verknüpfen von Kurzbefehlen mit einer Funktion

Nachdem Sie eine Funktion definiert haben, können Sie ihre Funktionalität erweitern, indem Sie statische oder dynamische Verknüpfungen damit verknüpfen. Wie Verknüpfungen mit einer capability verknüpft werden, hängt von der implementierten Funktion und den tatsächlichen Wörtern in der Anfrage eines Nutzers ab. Wenn ein Nutzer beispielsweise einen Lauf in Ihrer Fitness-Tracking-App startet, indem er Assistant fragt: Hey Google, starte einen Lauf in Beispiel-App. Assistant kann einen Shortcut verwenden, um eine Instanz von capability zu starten, die eine gültige Trainingsentität vom Typ „run“ für den Parameter exercise.name definiert.

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