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:
- Utwórz zasób
shortcuts.xml
, postępując zgodnie z instrukcjami podanymi w sekcji Tworzenie skrótów statycznych. 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
jakoactions.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ębiecapability
.Mapowania parametrów: każde
intent
może zawierać parametry, które mają być przekazywane jako daneextra
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 BIIexercise.name
i sposób przekazywania wartości parametru – zbieranej od użytkownika – jako dodatkowych danych w elemencieintent
.
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.