Funktionen zu Verknüpfungen hinzufügen

Mit 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-Funktionen auf integrierte Intents (BIIs) erweitern können, sodass 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 Anwendung ausgerichtet ist und den Nutzer-Intent auflöst.

Definieren Sie Funktionen in der Datei „shortcuts.xml“

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

  1. Erstellen Sie eine shortcuts.xml-Ressource. Folgen Sie dazu der Anleitung unter Statische Verknüpfungen erstellen.
  2. Nehmen Sie die folgenden erforderlichen Informationen in Ihre Fähigkeiten auf:

    • Funktionsname:Aktion, die Ihre App unterstützen soll. Informationen zu der Funktion, die Funktionsdefinitionen erfordert, finden Sie in der Dokumentation der Komponente. Bei sprachgesteuerten App Actions-Befehlen wird der BII Action ID für Funktionsnamen verwendet. Diese finden Sie in der BII-Referenz. Beispielsweise führt der BII GET_THING seine Action ID als actions.intent.GET_THING auf.

    • App-Ziel:Das Ziel in Ihrer App, das die Aktion startet, um der Nutzeranfrage nachzukommen. Definieren Sie App-Ziele mit intent-Elementen, die in capability verschachtelt sind.

    • Parameterzuordnungen: Jeder intent kann Parameter enthalten, die als extra-Daten des Intents übergeben werden. Zum Beispiel enthält jeder App Actions-BII Felder, die Informationen darstellen, die Nutzer häufig in Abfragen angeben, die den BII auslösen.

Das folgende Beispiel zeigt eine Funktionsdefinition in shortcuts.xml für actions.intent.START_EXERCISE, einen BII, mit dem Nutzer gesprochene Befehle mit Assistant verwenden können, um ein Training in einer Fitness-App zu beginnen:

<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 den BII START_EXERCISE. Wenn ein Nutzer diesen BII durch die Aufforderung „Hey Google, start a run in ExampleApp“ aufruft, führt Assistant die Nutzeranfrage anhand der Informationen aus, die im verschachtelten intent-Element angegeben sind. Der intent in diesem Beispiel definiert die folgenden Details:

  • Mit android:targetPackage wird das Zielanwendungspaket für diesen Intent festgelegt.
  • Das Feld android:targetClass gibt die Zielaktivität an: com.example.sampleApp.ExerciseActivity.
  • Der Intent parameter deklariert die Unterstützung für den BII-Parameter exercise.name und die Übergabe des vom Nutzer erfassten Parameterwerts als zusätzliche Daten im intent.

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 Verknüpfungen zuordnen. 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 über eine Tastenkombination eine Instanz einer capability starten, die eine gültige Übungsentität „run“ für den Parameter exercise.name definiert.

Weitere Informationen zum Verknüpfen von App Actions mit App Actions findest du unter App Actions – Übersicht.