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 einem intent
, das auf das Ziel in Ihrer App ausgerichtet ist, das die Nutzerabsicht erfüllt.
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 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 vonGET_THING
istAction ID
beispielsweise alsactions.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 incapability
verschachtelt sind.Parameterzuordnungen:Jede
intent
kann Parameter enthalten, die alsextra
-Daten der Absicht übergeben werden. Beispielsweise enthält jeder BII für App-Aktionen Felder, die Informationen darstellen, die Nutzer häufig in Abfragen 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 dem
android:targetPackage
wird das Zielanwendungspaket für diese Absicht festgelegt. - Im Feld
android:targetClass
wird die Zielaktivität angegeben:com.example.sampleApp.ExerciseActivity
. - Im Intent
parameter
wird die Unterstützung eines BII-Parametersexercise.name
erklärt und wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten inintent
übergeben wird.
Tastenkürzel 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 einer capability
verknüpft werden, hängt von der implementierten Funktion und den tatsächlichen Wörtern ab, die in der Anfrage eines Nutzers enthalten sind. Beispiel: Ein Nutzer startet einen Lauf in Ihrer Fitness-Tracking-App, indem er Assistant bittet: „Hey Google, starte einen Lauf in der Beispiel-App.“ 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.