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

Możliwości w ramach funkcji shortcuts.xml umożliwiają deklarowanie rodzajów działań, które użytkownicy mogą wykonywać w celu uruchomienia aplikacji i bezpośredniego wykonywania określonego zadania.

Na przykład akcje w aplikacji Asystenta Google korzystają z możliwości, które umożliwiają programistom rozszerzanie funkcji aplikacji o intencje wbudowane (BII), dzięki czemu użytkownicy mogą je aktywować i kontrolować za pomocą poleceń głosowych. Funkcja składa się z nazwy działania i elementu intent kierowanego na miejsce docelowe w aplikacji, które potwierdza zamiar użytkownika.

Zdefiniuj uprawnienia w plikushort.xml

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

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

    • Nazwa funkcji: działanie, które ma obsługiwać aplikacja. Zapoznaj się z dokumentacją komponentów funkcji, która wymaga określenia zdolności. Polecenia głosowe w Akcjach w aplikacji używają BII Action ID w przypadku nazw funkcji, które znajdziesz w dokumentacji BigQuery. Na przykład w elemencie GET_THING BII jego Action ID ma wartość actions.intent.GET_THING.

    • Miejsce docelowe aplikacji: miejsce docelowe w aplikacji wykonywane w celu spełnienia żądania użytkownika. Zdefiniuj miejsca docelowe aplikacji za pomocą elementów intent zagnieżdżonych w capability.

    • Mapowanie parametrów: każdy element intent może zawierać parametry do przekazywania jako dane extra intencji. Na przykład każde BII Akcje w aplikacji zawiera pola reprezentujące informacje podawane przez użytkowników w zapytaniach wywołujących BII.

Ten przykład przedstawia definicję funkcji w shortcuts.xml na potrzeby funkcji actions.intent.START_EXERCISE, która umożliwia użytkownikom rozpoczęcie treningu w aplikacji fitness za pomocą poleceń głosowych w Asystencie:

<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 tabeli START_EXERCISE BII. Jeśli użytkownik wywoła ten wskaźnik BII, mówiąc do Asystenta: „OK Google, uruchom uruchomienie w przykładowej aplikacji”, Asystent spełni żądanie, korzystając z informacji podanych w zagnieżdżonym elemencie intent. Parametr intent używany w tym przykładzie definiuje te szczegóły:

  • android:targetPackage ustawia docelowy pakiet aplikacji dla tej intencji.
  • Pole android:targetClass określa aktywność docelową: com.example.sampleApp.ExerciseActivity.
  • Intencja parameter deklaruje obsługę parametru BII exercise.name oraz sposób przekazywania wartości parametru (zebranej od użytkownika) jako dodatkowych danych w elemencie intent.

Powiąż skróty z funkcją

Po zdefiniowaniu funkcji możesz ją rozszerzyć, powiązując z nią skróty statyczne lub dynamiczne. Sposób powiązania skrótów z elementem capability zależy od implementowanej funkcji i słów zawartych w żądaniu użytkownika. Na przykład, gdy użytkownik rozpocznie bieg w aplikacji z monitorowaniem aktywności fizycznej, mówiąc do Asystenta „OK Google, rozpocznij bieg w aplikacji PrzykładowaAplikacja”. Asystent może użyć skrótu, aby uruchomić instancję capability, która definiuje prawidłową encję „run” dla parametru exercise.name.

Więcej informacji o łączeniu skrótów do akcji w aplikacji znajdziesz w omówieniu tych działań.