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ą możliwości, które pozwalają deweloperom rozszerzać funkcje aplikacji na wbudowane intencje (BII). Dzięki temu 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 poprzednim przykładzie atrybut <capability> android:name odnosi się do START_EXERCISE BII. Jeśli użytkownik wywoła ten BII, pytając Asystenta: „Hej 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 BIIexercise.name i sposób przekazywania wartości parametru zebranej 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.