Funktionen zu Verknüpfungen hinzufügen

Mit Funktionen in shortcuts.xml können Sie die Arten von Aktionen deklarieren, mit denen Nutzer Ihre App starten und direkt eine bestimmte Aufgabe ausführen können. Eine Funktion besteht aus dem Namen der Aktion und einem intent, der auf das Ziel in Ihrer App ausgerichtet ist, das die Nutzerabsicht auflöst.

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 für Ihre Funktion an:

    • Funktionsname:Die Aktion, die Ihre App unterstützen soll. In der Komponentendokumentation finden Sie Informationen zur Funktion, für die Funktionsdefinitionen erforderlich sind.

    • App-Ziel:Das Ziel in Ihrer App, zu dem die Aktion gestartet wird, um die Nutzeranfrage zu erfüllen. Definieren Sie App-Ziele mit intent-Elementen, die in capability eingebettet sind.

    • Parameterzuordnungen:Jeder 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, ein BII, mit dem 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 verweist das Attribut <capability> android:name auf das START_EXERCISE BII. Wenn ein Nutzer dieses BII aufruft, indem er Assistant fragt: "Hey Google, starte einen Lauf in BeispielApp", erfüllt Assistant die Nutzeranfrage mit den Informationen, die im eingebetteten 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 einen BII-Parameter exercise.name und wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten in der intent übergeben wird.

Verknüpfungen einer Funktion zuordnen

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 einer 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 startet einen Lauf in Ihrer Fitness-Tracking App, indem er Assistant fragt: „Hey Google, starte einen Lauf in BeispielApp“ Assistant kann eine Verknüpfung verwenden, um eine Instanz einer capability zu starten, die eine gültige Trainingsentität „Lauf“ für den Parameter exercise.name definiert.