Funktionen zu Verknüpfungen hinzufügen

Mit 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. Eine Funktion besteht aus dem Namen der Aktion und einem intent, das auf das Ziel in Ihrer App verweist, 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:

  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. Informationen zu dem Feature, für das Funktionsdefinitionen erforderlich sind, finden Sie in der Komponentendokumentation.

    • App-Ziel: Das Ziel in Ihrer App, das die Aktion startet, um die Nutzeranfrage zu erfüllen. Definieren Sie App-Ziele mit intent-Elementen, die im capability verschachtelt sind.

    • Parameterzuordnungen: Jedes intent kann Parameter enthalten, die als extra-Daten des Intents übergeben werden.

Das folgende Beispiel zeigt eine Funktionsdefinition in shortcuts.xml für actions.intent.START_EXERCISE, einen 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 die BII START_EXERCISE. Wenn ein Nutzer diesen BII aufruft, indem er Assistant fragt: „Hey Google, starte einen Lauf in BeispielApp“, erfüllt Assistant die Nutzeranfrage mithilfe der Informationen, die im verschachtelten intent-Element angegeben sind. In der 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 den BII-Parameter exercise.name und gibt an, wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten im intent übergeben wird.

Kurzbefehle mit einer Funktion verknüpfen

Nachdem Sie eine Funktion definiert haben, können Sie sie erweitern, indem Sie ihr statische oder dynamische Kurzbefehle zuweisen. Wie Verknüpfungen mit einem capability verknüpft werden, hängt von der implementierten Funktion und den tatsächlichen Wörtern in der Anfrage eines Nutzers ab. Beispiel: Ein Nutzer beginnt einen Lauf in deiner Fitness-Tracker-App, indem er Assistant fragt: „Hey Google, starte einen Lauf in Beispiel-App.“ Assistant kann eine Verknüpfung verwenden, um eine Instanz von capability zu starten, die eine gültige Trainingsentität „Laufen“ für den Parameter exercise.name definiert.