Skróty na Androidzie zapewniają użytkownikom szybkie do wykonania działania lub uzyskania dostępu do treści w aplikacji. Asystent może proaktywnie sugerować użytkownikom dynamiczne skróty na Androidzie w domenie: odpowiednie momenty, dzięki czemu użytkownicy mogą łatwo funkcje głosowe.
Możesz na przykład przekazać skrót do każdej notatki utworzonej przez użytkownika
aplikację do robienia notatek. Twoje produkty
linki dynamiczne, które mogą się wyświetlać w usługach Google takich jak Asystent,
dodając do projektu bibliotekę Jetpacka z integracją Google Skróty.
Ta biblioteka pozwala Asystentowi korzystać z dynamicznych skrótów klawiszowych przekazywanych przez Ciebie za pomocą
ShortcutManagerCompat
, która jest otoką pakietu Jetpack dla
Interfejs API ShortcutManager
.
Jeśli używasz w aplikacji biblioteki integracji skrótów Google, dynamiczne
skróty przesłane do Google są widoczne dla użytkowników jako sugestie skrótów głosowych
w aplikacji Asystent. Możesz przekazać nieograniczoną liczbę dynamicznych skrótów do
za pomocą metody pushDynamicShortcut()
funkcji
Biblioteka ShortcutManagerCompat
.
Skonfiguruj projekt programistyczny
Dodanie funkcji skrótów dynamicznych do aplikacji wymaga: Biblioteka integracji skrótów Google, która jest biblioteką Androida Jetpack. W tej sekcji dowiesz się, jak skonfigurować projekt programisty aplikacji, aby uwzględnić tę bibliotekę.
Aby dodać tę bibliotekę Jetpack i skonfigurować projekt, wykonaj te czynności:
Zaktualizuj plik
gradle.properties
, aby obsługiwać biblioteki Jetpack:gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
Dodaj zależności biblioteki Jetpack do pakietu
build.gradle
:app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
W poprzednim przykładowym kodzie podajesz 2 biblioteki Jetpack jako zależności. Biblioteka
androidx.core:core:1.6.0
zawiera funkcjeShortcutManagerCompat
, do której służą skróty dynamiczne Google.androidx.core:core-google-shortcuts:1.0.1
to Google Biblioteka integracji skrótów. Ta biblioteka nie zawiera treści przeznaczonych dla programistów API. Dodając ją jako zależność, umożliwiasz Asystentowi dynamiczne skróty przekazywane za pomocą klasyShortcutManagerCompat
.
Przekaż skróty dynamiczne
Aby przekazać skróty dynamiczne, które mogą się wyświetlać w Asystencie:
najpierw tworzysz skrót za pomocą funkcji ShortcutInfoCompat.Builder()
zajęcia.
Następnie naciśnij skrót za pomocą
Metoda ShortcutManagerCompat.pushDynamicShortcut()
. Skróty są wysyłane za każdym razem, gdy użytkownik wykona odpowiednie działanie w aplikacji. Poniższy przykładowy kod wysyła skrót za każdym razem, gdy użytkownik utworzy listę w aplikacji do zarządzania notatkami i listami.
ExampleOrderActivity
Kotlin
// Define the dynamic shortcut for an item var intent = Intent(context, DisplayOrderActivity::class.java) intent.action = Intent.ACTION_VIEW var shortcutInfo = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List") ) .setIntent(intent) // Push the shortcut .build() // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
Java
// Define the dynamic shortcut for an item Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List")) .setIntent(intent) .build(); // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Argument id
, do którego odwołuje się metoda ShortcutInfoCompat.Builder
w poprzednim przykładowym kodzie, definiuje shortcutId
obiektu skrótu. To urządzenie (id
)
musi być unikalnym literałem ciągu. Szczegółowe informacje znajdziesz w dokumentacji skrótów na urządzeniach z Androidem.
W poprzednim przykładzie metoda addCapabilityBinding
wiąże skrót dynamiczny z elementem capability
tego samego elementu android:name
zdefiniowanego w shortcuts.xml
. Ta metoda umożliwia powiązanie skrótu z parametrem wbudowanego zamiaru (BII).
Skróty dynamiczne czasami są przekazywane bez żadnego konkretnego parametru BII
z osobna. Gdy użytkownik wywoła Asystenta, ten uruchamia intent
zdefiniowany w skrótku, aby wykonać działanie. W poniższym przykładzie pokazano, jak
skrót bez powiązania parametrów:
Kotlin
var intent: Intent = Intent(context, DisplayOrderActivity::class.java) intent.setPackage(this, "com.sample.app") intent.setAction(Intent.ACTION_VIEW) var shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build() ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Java
Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setPackage(this, "com.sample.app"); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build(); ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Testowanie dynamicznych skrótów za pomocą Asystenta
Gdy Asystent Google użyje dynamicznego skrótu z Twojego aplikacji, skrót może pojawiać się jako sugestia Skrótu głosowego w Aplikacja Asystent na Androida. Aplikacja Asystent proponuje najnowsze skróty wypchane przez Twoją aplikację.
Aby przetestować skróty dynamiczne za pomocą Asystenta, wykonaj te czynności:
- utworzyć wersję podglądu działań w aplikacji i przygotować urządzenie testowe; emulatorowi do testowania działań, takich jak wtyczka Asystenta Google.
- Otwórz aplikację i zdefiniuj dynamiczny skrót do przekazania. Następnie wykonaj działanie. Jeśli na przykład chcesz, aby skrót był wykonywany za każdym razem, gdy w aplikacji do tworzenia notatek zostanie utworzona nowa notatka, utwórz nową notatkę.
- Otwórz Skróty w aplikacji Ustawienia Asystenta na urządzeniu. Twoje dynamiczny skrót pojawi się na liście aplikacji.