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:
- Erstellen Sie eine
shortcuts.xml
-Ressource. Folgen Sie dazu der Anleitung unter Statische Verknüpfungen erstellen. 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 BIIGET_THING
wird beispielsweiseAction ID
alsactions.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 incapability
verschachtelt sind.Parameterzuordnungen:Jede
intent
kann Parameter enthalten, die alsextra
-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-Parameterexercise.name
und wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten imintent
ü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.