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

Funkcje 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 akcje w aplikacji Asystenta Google wykorzystują możliwości, dzięki którym deweloperzy mogą rozszerzać funkcje w aplikacji na intencje wbudowane (BII), umożliwiając użytkownikom aktywowanie tych funkcji i sterowanie nimi za pomocą poleceń głosowych. Funkcja składa się z nazwy działania i elementu intent kierującego na miejsce docelowe w aplikacji, które potwierdza intencję użytkownika.

Zdefiniuj możliwości w pliku shortcuts.xml

Elementy capability definiuje się w pliku zasobów shortcuts.xml w projekcie na temat 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 podanymi w sekcji Tworzenie skrótów statycznych.
  2. Podaj te wymagane informacje o swoich możliwościach:

    • Nazwa możliwości: działanie, które ma obsługiwać aplikacja. Zapoznaj się z dokumentacją komponentu funkcji, która wymaga definicji możliwości. Polecenia głosowe w działaniach w aplikacji korzystają z Action ID BII do nazw możliwości, które znajdziesz w dokumentacji BII. Na przykład właściwość GET_THING BII zawiera wartość Action ID jako actions.intent.GET_THING.

    • Miejsce docelowe aplikacji: miejsce docelowe w aplikacji, w którym uruchamia się działanie w celu zrealizowania żądania użytkownika. Zdefiniuj miejsca docelowe aplikacji za pomocą elementów intent zagnieżdżonych w obrębie capability.

    • Mapowania parametrów: każde intent może zawierać parametry, które mają być przekazywane jako dane extra intencji. Na przykład każde akcje w aplikacji BII zawierają pola reprezentujące informacje często podawane przez użytkowników w zapytaniach wywołujących ten współczynnik.

Poniższy przykład ilustruje definicję umiejętności w shortcuts.xml w przypadku actions.intent.START_EXERCISE, czyli BII, która umożliwia użytkownikom rozpoczynanie treningu w aplikacji do fitnessu przy użyciu poleceń głosowych wydawanych przez Asystenta:

<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 wskaźnik BII, mówiąc do Asystenta „OK Google, rozpocznij uruchomienie w ExampleApp”, Asystent realizuje to polecenie, korzystając z informacji podanych w zagnieżdżonym elemencie intent. Parametr intent w tym przykładzie określa te szczegóły:

  • android:targetPackage ustawia 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 – zbieranej od użytkownika – jako dodatkowych danych w elemencie intent.

Powiązywanie skrótów z funkcją

Po zdefiniowaniu możliwości możesz rozszerzyć jej funkcje, wiążąc z nią skróty statyczne lub dynamiczne. Sposób powiązania skrótów z capability zależy od implementowanej funkcji oraz samych słów podanych w żądaniu użytkownika. Na przykład, gdy użytkownik rozpocznie bieg w aplikacji do monitorowania aktywności fizycznej, wydając polecenie „OK Google, rozpocznij bieg w aplikacji PrzykładowaAplikacja”. Asystent może użyć skrótu, aby uruchomić instancję capability, która określa prawidłową encję ćwiczenia „run” dla parametru exercise.name.

Więcej informacji o łączeniu skrótów do działań w aplikacji znajdziesz w artykule Omówienie działań w aplikacji.