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:
- Utwórz zasób
shortcuts.xml
, postępując zgodnie z instrukcjami opisanymi w artykule Tworzenie skrótów statycznych. 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 elemencieGET_THING
BII jegoAction 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 wcapability
.Mapowanie parametrów: każdy element
intent
może zawierać parametry do przekazywania jako daneextra
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 BIIexercise.name
oraz sposób przekazywania wartości parametru (zebranej od użytkownika) jako dodatkowych danych w elemencieintent
.
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ń.