Mit den Funktionen in shortcuts.xml
kannst du die Arten von Aktionen deklarieren, die Nutzer ausführen können, um deine App zu starten und eine bestimmte Aufgabe direkt auszuführen.
Google Assistant App Actions verwenden beispielsweise Funktionen, mit denen Entwickler In-App-Features auf integrierte Intents (BIIs) erweitern können, sodass Nutzer diese Funktionen mit gesprochenen Befehlen aktivieren und steuern können. Eine Capability besteht aus dem Namen der Aktion und einem intent
, das auf das Ziel in Ihrer App ausgerichtet ist, das den Nutzer-Intent auflöst.
Funktionen in shortcuts.xml definieren
capability
-Elemente werden in einer shortcuts.xml
-Ressourcendatei in Ihrem Android-App-Entwicklungsprojekt definiert. So definieren Sie ein capability
-Element:
- Erstellen Sie eine
shortcuts.xml
-Ressource. Folgen Sie dazu der Anleitung unter Statische Verknüpfungen erstellen. Fügen Sie Ihrer Kompetenz die folgenden erforderlichen Informationen hinzu:
Funktionsname:Die Aktion, die Ihre App unterstützen soll. Informationen zu dem Feature, für das Funktionsdefinitionen erforderlich sind, finden Sie in der Dokumentation zu Komponenten. Bei sprachaktivierten Befehlen für App Actions wird der BII-
Action ID
für Funktionsnamen verwendet. Sie finden sie in der BII-Referenz. Beispiel: DerGET_THING
BII listet seineAction ID
alsactions.intent.GET_THING
auf.App-Ziel: Das Ziel in Ihrer App, das die Aktion startet, um die Nutzeranfrage zu erfüllen. Definieren Sie App-Ziele mithilfe von
intent
-Elementen, die imcapability
verschachtelt sind.Parameterzuordnungen: Jeder
intent
kann Parameter enthalten, die alsextra
-Daten des Intents übergeben werden. Beispielsweise enthält jede App Actions BII Felder für Informationen, die Nutzer häufig in Abfragen angeben, die die BII auslösen.
Das folgende Beispiel zeigt eine Funktionsdefinition in shortcuts.xml
für actions.intent.START_EXERCISE
, eine BII, mit der Nutzer gesprochene Befehle mit Assistant verwenden können, um ein Training in einer Fitness-App zu 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 bezieht sich das Attribut <capability>
android:name
auf das BII START_EXERCISE
. Wenn ein Nutzer diese BII durch die Aufforderung „Hey Google, start a run in ExampleApp“ aufruft, führt Assistant die Nutzeranfrage mithilfe der Informationen aus dem verschachtelten intent
-Element aus. Der 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
. - Der Intent
parameter
deklariert Unterstützung für den BII-Parameterexercise.name
und darüber, wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten in derintent
übergeben wird.
Verknüpfungen mit einer Funktion verknüpfen
Nachdem Sie eine Funktion definiert haben, können Sie ihre Funktionalität erweitern, indem Sie statische oder dynamische Verknüpfungen mit ihr verknüpfen. Wie Verknüpfungen mit einem capability
verknüpft werden, hängt von der implementierten Funktion und den Wörtern in der Anfrage des Nutzers ab. Wenn ein Nutzer beispielsweise einen Lauf in Ihrer Fitness-Tracking-App startet, indem er Assistant sagt: „Hey Google, starte einen Lauf in der Beispiel-App.“ Assistant kann eine Verknüpfung verwenden, um eine Instanz von capability
zu starten, die eine gültige Trainingsentität „run“ für den Parameter exercise.name
definiert.
Weitere Informationen zum Verknüpfen von Verknüpfungen mit App-Aktionen findest du unter Übersicht über App-Aktionen.