Dodaj możliwości do skrótów

Funkcje w shortcuts.xml umożliwiają deklarowanie typów działań, które użytkownicy mogą wykonać, aby uruchomić aplikację i bezpośrednio wykonać określone zadanie.

Na przykład działania aplikacji na Asystenta Google wykorzystują te możliwości, aby umożliwić deweloperom rozszerzanie funkcji aplikacji na wbudowane intencje (BII), dzięki czemu użytkownicy mogą aktywować te funkcje i sterować nimi za pomocą poleceń głosowych. Funkcja składa się z nazwy działania i intent kierującego do miejsca docelowego w aplikacji, które realizuje intencję użytkownika.

Określanie funkcji w pliku shortcuts.xml

Elementy capability definiujesz w pliku zasobów shortcuts.xml w projekcie tworzenia aplikacji na Androida. Aby zdefiniować element capability, wykonaj te czynności:

  1. Utwórz zasób shortcuts.xml, postępując zgodnie z instrukcjami w artykule Tworzenie statycznych skrótów.
  2. W funkcji podaj te wymagane informacje:

    • Nazwa funkcji: działanie, które ma obsługiwać Twoja aplikacja. Zapoznaj się z dokumentacją komponentu, który wymaga definicji funkcji. Polecenia głosowe Działań w aplikacji używają BII Action ID do określania nazw funkcji. Możesz je znaleźć w dokumentacji BII. Na przykład GET_THING BII podaje Action ID jako actions.intent.GET_THING.

    • Miejsce docelowe w aplikacji: miejsce docelowe w aplikacji, w którym uruchamia się działanie, aby spełnić prośbę użytkownika. Zdefiniuj miejsca docelowe aplikacji za pomocą elementów intent zagnieżdżonych w elemencie capability.

    • Mapowania parametrów: każdy element intent może zawierać parametry, które mają być przekazywane jako dane extra intencji. Na przykład każdy interfejs BII Działań w aplikacji zawiera pola reprezentujące informacje, które użytkownicy często podają w zapytaniach wywołujących ten interfejs.

Poniższy przykład pokazuje definicję funkcji w shortcuts.xml dla actions.intent.START_EXERCISE, czyli wbudowanego zamiaru, który umożliwia użytkownikom korzystanie z poleceń głosowych w Asystencie, aby rozpocząć trening w aplikacji do ćwiczeń:

<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>

W powyższym przykładzie atrybut <capability> android:name odnosi się do START_EXERCISE BII. Jeśli użytkownik wywoła ten BII, pytając Asystenta: „OK Google, rozpocznij bieg w aplikacji ExampleApp”, Asystent zrealizuje jego prośbę, korzystając z informacji podanych w zagnieżdżonym elemencie intent. intent w tym przykładzie określa te szczegóły:

  • Element android:targetPackage określa docelowy pakiet aplikacji dla tego zamiaru.
  • Pole android:targetClass określa aktywność docelową:com.example.sampleApp.ExerciseActivity
  • Intencja parameter deklaruje obsługę parametru BII exercise.name i sposób przekazywania wartości parametru – zebranych od użytkownika – jako dodatkowych danych w intent.

Powiązywanie skrótów z funkcją

Po zdefiniowaniu funkcji możesz rozszerzyć jej działanie, przypisując do niej statyczne lub dynamiczne skróty. Sposób powiązania skrótów z capability zależy od wdrażanej funkcji i rzeczywistych słów zawartych w żądaniu użytkownika. Na przykład, gdy użytkownik rozpoczyna bieg w aplikacji do śledzenia aktywności, prosząc Asystenta: „OK Google, rozpocznij bieg w aplikacji ExampleApp”. Asystent może użyć skrótu, aby uruchomić instancję capability, która definiuje prawidłowy element ćwiczenia „bieg” dla parametru exercise.name.

Więcej informacji o przypisywaniu skrótów do akcji w aplikacji znajdziesz w omówieniu akcji w aplikacji.