Funktionen zu Verknüpfungen hinzufügen

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:

  1. Erstellen Sie eine shortcuts.xml-Ressource. Folgen Sie dazu der Anleitung unter Statische Verknüpfungen erstellen.
  2. 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: Der GET_THING BII listet seine Action ID als actions.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 im capability verschachtelt sind.

    • Parameterzuordnungen: Jeder intent kann Parameter enthalten, die als extra-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-Parameter exercise.name und darüber, wie der vom Nutzer erfasste Parameterwert als zusätzliche Daten in der intent ü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.