Akcje w aplikacji umożliwiają użytkownikom uruchamianie funkcji w Twojej aplikacji na Androida za pomocą poleceń głosowych od Asystenta Google lub skrótów Androida sugerowanych przez Asystenta. Oto główne kroki, które należy wykonać, aby rozszerzyć aplikację na Androida o działania w aplikacji:
- Wskaż funkcję w aplikacji, która ma być aktywowana, oraz pasującą do niej intencję wbudowaną (BII).
- Podaj szczegóły realizacji BII.
- Przekaż skróty akcji do Asystenta.
- Wyświetl podgląd akcji w aplikacji na urządzeniu testowym.
- Utwórz wersję testową aplikacji.
- Poproś o sprawdzenie i wdrożenie działań w aplikacji.
Opcjonalnie możesz zdefiniować skróty dynamiczne, które Asystent będzie udostępniać Asystentowi, aby mógł sugerować je użytkownikom. Utwórz akcję w aplikacji za pomocą przykładowej aplikacji, wykonując ćwiczenia w programie dotyczące akcji w aplikacji.
Wymagania
Zanim zaczniesz tworzyć działania w aplikacji, upewnij się, że Ty i Twoja aplikacja spełniacie te wymagania:
- Musisz mieć konto Google z dostępem do Konsoli Google Play.
- Aplikacja musi być opublikowana w Sklepie Google Play, ponieważ akcje w aplikacji są dostępne tylko w przypadku opublikowanych w nim aplikacji. Upewnij się też, że aplikacja nie jest przeznaczona do używania w profilu służbowym, ponieważ akcje w aplikacji nie są obsługiwane w zarządzanym Sklepie Google Play.
- Aby przetestować akcje w aplikacji, musisz mieć urządzenie fizyczne lub wirtualne.
- Musisz mieć najnowszą wersję Android Studio.
- Aby logować się w Android Studio, aplikacji Google na urządzeniu testowym i w Konsoli Google Play, musisz używać tego samego konta Google.
- Musisz skonfigurować Asystenta na urządzeniu testowym i przetestować go, naciskając i przytrzymując przycisk ekranu głównego.
Dopasuj intencje wbudowane do funkcji aplikacji
Zidentyfikuj funkcje aplikacji na Androida, do których użytkownicy mogą chcieć przejść, wypowiadając żądanie, i przejrzyj informacje o intencji wbudowanych, aby znaleźć identyfikatory BII odpowiednie do Twoich zastosowań. BII modeluje zapytania użytkowników dotyczące zadań, które chcą wykonywać, dlatego staraj się, aby inwestycje BII pasowały do kluczowych funkcji i przepływów użytkowników w aplikacji.
Istnieją typowe BII, z których może korzystać prawie każda aplikacja na Androida, np. rozszerzanie wyszukiwania w aplikacji o Asystenta za pomocą actions.intent.GET_THING
lub umożliwianie użytkownikom uruchamiania konkretnych funkcji aplikacji za pomocą głosu przez wdrożenie actions.intent.OPEN_APP_FEATURE
BII.
Istnieją też identyfikatory BiI, które umożliwiają zastosowanie branż, czyli konkretnych kategorii. Na przykład aplikacja do zamawiania jedzenia może korzystać z BII actions.intent.ORDER_MENU_ITEM
.
Aby zadbać o komfort użytkowników i uniknąć opóźnień w zatwierdzeniu, zadbaj o to, aby wszystkie implementowane kryteria BII pasowały do funkcji Twojej aplikacji.
Akcje w aplikacji działają, uruchamiając intencje Androida z aplikacji Asystent, aby kierować użytkowników bezpośrednio do określonych treści w aplikacji. Intencje dotyczące uruchomienia działania możesz wyraźnie zdefiniować, określając pola targetClass
i targetPackage
. Jeśli Twoja aplikacja ma już zaimplementowane adresy URL precyzyjnych linków na Androida, możesz skonfigurować intencję, aby na potrzeby realizacji użyć precyzyjnego linku. Więcej informacji znajdziesz w sekcji Testowanie precyzyjnych linków do Twojej aktywności.
Podawaj szczegóły realizacji dla intencji wbudowanych
Większość tworzenia akcji w aplikacji wymaga deklarowania możliwości w pliku zasobów shortcuts.xml
aplikacji na Androida, w którym określa się wybrany wskaźnik BII i odpowiadającą jej realizację. A BII modeluje zapytanie użytkownika związane z zadaniem, a intencja realizacji dostarcza Asystentowi informacji o tym, jak je wykonać.
W pliku shortcuts.xml
identyfikatory BII są przedstawione jako elementy <capability>
, a każda realizacja – element <intent>
:
<shortcuts>
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.app"
android:targetClass="com.example.app.browse">
<parameter
android:name="menuItem.name"
android:key="query">
</parameter>
</intent>
</capability>
W przypadku większości BII parametry intencji pobiera się z zapytań użytkownika na podstawie encji schema.org. Następnie aplikacja używa tych parametrów BII, aby kierować użytkowników do wybranej funkcji. Poprzedni kod mapuje na przykład parametr menuItem.name
BII na parametr query
Androida intent
.
Jeśli wykonujesz działania za pomocą precyzyjnych linków, za pomocą pola urlTemplate
możesz określić adres URL precyzyjnego linku wygenerowany przez Asystenta:
<shortcuts>
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent android:action="android.intent.action.VIEW">
<url-template android:value="myfoodapp://browse{?query}" />
<parameter android:name="menuItem.name"
android:key="query"
android:mimeType="text/*">
</parameter>
</intent>
</capability>
</shortcuts>
Ważne informacje o dodawaniu działań w aplikacji do pliku shortcuts.xml
znajdziesz w artykule Tworzenie shortcuts.xml
. Znajdziesz tam też informacje o sposobie określania wartości parametrów oczekiwanych przez aplikację.
Wdrażanie intencji wbudowanej GET_THING
Jeśli Twoja aplikacja ma funkcję wyszukiwania, musisz wdrożyć dla niej actions.intent.GET_THING
BII. Gdy użytkownik wpisze zapytanie w rodzaju „OK Google, wyszukaj przykładową rzecz w aplikacji Przykładowa aplikacja”, będzie mógł przekierować użytkowników do funkcji wyszukiwania wyników w aplikacji.
W pliku shortcuts.xml
zaimplementuj <capability>
dla actions.intent.GET_THING
BII, tak samo jak wdrażasz pozostałe BII. Możesz użyć wielu realizacji w polu GET_THING
, o ile podasz co najmniej jedną realizację, która przekazuje zapytanie użytkownika do funkcji wyszukiwania w aplikacji.
Oto przykład dodania actions.intent.GET_THING
BII do
shortcuts.xml
:
<capability android:name="actions.intent.GET_THING">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MySearchActivity">
<parameter android:name="thing.name" android:key="query" />
</intent>
</capability>
W funkcji wyszukiwania Activity
wyodrębnij zapytanie z dodatkowych danych funkcji intent
i przekaż je do funkcji wyszukiwania aplikacji. W poprzednim kodzie zapytanie przekazane jako klucz query
jest mapowane na parametr BII "thing.name"
. Następnie przeprowadź wyszukiwanie przy użyciu zapytania i wyświetl wyniki w interfejsie.
Opcjonalnie: push skróty dla akcji w aplikacji do Asystenta
Gdy zdefiniujesz możliwość działania, użytkownicy mogą je uruchomić, mówiąc na przykład „OK Google, zamów pizzę w aplikacji Przykładowa aplikacja”. Asystent może w odpowiednich momentach sugerować użytkownikom skróty na Androida do Twoich działań, umożliwiając im odkrywanie i powtórzenie Twoich działań. Asystent może proponować zarówno dynamiczne, jak i statyczne skróty.
Aby przekazywać skróty dynamiczne do Asystenta, skorzystaj z biblioteki integracji skrótów Google. Ta biblioteka Jetpack pozwala Asystentowi korzystać ze skrótów i sugerować je użytkownikom w odpowiednim momencie.
Więcej informacji znajdziesz w artykule Przekazywanie dynamicznych skrótów do Asystenta.
Podgląd akcji w aplikacji
Podczas programowania i testowania użyj wtyczki Asystenta Google do Androida Studio, aby sprawdzić, czy akcje w aplikacji działają w przypadku Twojej aplikacji. Wtyczka tworzy podgląd tych działań w Asystencie na koncie Google. Za pomocą narzędzia testowego możesz przetestować realizację zamówień na fizycznym urządzeniu testowym lub emulatorze, udostępniając BII z parametrami wejściowych, które chcesz otrzymywać od użytkowników.
Wyświetlając podgląd działań w aplikacji, możesz głosowo uruchamiać zapytania na urządzeniu. Ta funkcja jest dostępna tylko w przypadku zapytań wymienionych w dokumentacji BII dotyczącej akcji w aplikacji. Używaj uruchamiania głosowego tylko do celów demonstracyjnych, a nie do zwykłych testów.
Przetestuj aplikację w wersji roboczej za pomocą narzędzi dla programistów w Konsoli Google Play, zanim prześlesz ją do sprawdzenia. Więcej informacji o wdrażaniu wersji roboczej aplikacji za pomocą Konsoli Google Play znajdziesz w artykule Przygotowywanie i uruchamianie wersji.
Utwórz wersję testową
Gdy zechcesz przetestować działania w aplikacji z dodatkowymi testerami, utwórz wersję testową wewnętrzną lub zamkniętą. Domyślnie testerzy wersji wewnętrznej i zamkniętej mają dostęp do tych działań w aplikacji, które zostały już sprawdzone i zatwierdzone.
Aby przyznać im dostęp do testowania wszystkich działań w aplikacji, w tym niezatwierdzonych działań, poproś ich, by dołączyli do grupy dyskusyjnej Google Program ten. Członkowie tej grupy mają dostęp do wszystkich akcji w aplikacji w wersjach testów zamkniętych i wewnętrznych bez konieczności tworzenia podglądów za pomocą narzędzia do testowania działań w aplikacji. Po dołączeniu do grupy może minąć do 3 godzin, zanim dostęp będzie możliwy.
Prośba o sprawdzenie i wdrożenie działań w aplikacji
Akcje w aplikacji są niedostępne dla użytkowników opublikowanych aplikacji lub wersji testowych wersji testowej, dopóki nie zostaną sprawdzone i zatwierdzone. Weryfikacja akcje w aplikacji nie wpływa
na stan sprawdzania i wdrażania aplikacji na Androida w Google Play. Nawet jeśli przesłana aplikacja zostanie zatwierdzona i opublikowana w Sklepie Play, shortcuts.xml
może być w trakcie sprawdzania przez Google. Akcje w aplikacji nie działają u użytkowników
do czasu zatwierdzenia weryfikacji.
Po wdrożeniu aplikacji działania w aplikacji pozostają aktywne. Ponownie wdrożone wersje podlegają jednak sprawdzeniu przez Google. Jeśli nowa wersja nie działa prawidłowo lub narusza zasady, Google zastrzega sobie prawo do dezaktywowania działań w aplikacji w przypadku Twojej aplikacji.
Aby przesłać działania w aplikacji do sprawdzenia:
Zaakceptuj warunki korzystania z działań w aplikacji w Konsoli Google Play (Ustawienia zaawansowane > Działania w aplikacji):
Prześlij aplikację zawierającą
shortcuts.xml
do Konsoli Google Play tak jak zwykle.Gdy prześlesz aplikację do Konsoli Play, Google skontaktuje się z Tobą, wysyłając e-maila na konto Konsoli Play, i przekaże Ci więcej informacji o stanie sprawdzania działań w aplikacji. Możesz też skontaktować się z zespołem pomocy Asystenta dla deweloperów, jeśli masz pytania dotyczące stanu weryfikacji działań w aplikacji. W formularzu kontaktowym podaj identyfikator pakietu aplikacji i w polu wyboru Jak możemy Ci pomóc? wybierz Sprawdzanie działań w aplikacji.
Opcjonalnie: przetestuj precyzyjne linki na swojej aktywności
Aby użyć precyzyjnego linku do uruchomienia Activity
za pomocą akcji w aplikacji, Activity
musi mieć skonfigurowane adresy URL precyzyjnych linków i mieć odpowiedni filtr intencji w manifeście aplikacji na Androida.
Aby sprawdzić, czy Twoje działania są dostępne i można je aktywować za pomocą działań w aplikacji przy użyciu precyzyjnych linków, uruchom to polecenie adb
:
$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"
Na przykład:
$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"
Jeśli aktywność nie uruchamia się prawidłowo za pomocą polecenia adb
, sprawdź te kwestie:
- Aktywność w pliku manifestu aplikacji zawiera ciąg
android:exported=true
, więc można ją uruchomić za pomocą intencji Asystenta Google. - Jeśli używasz adresów URL linków aplikacji, wykonaj wszystkie czynności opisane w artykule Obsługa linków aplikacji na Androida.
Zasady dotyczące akcji w aplikacji
Akcje w aplikacji muszą być zgodne z określonymi zasadami, aby zapewnić, że użytkownicy, którzy je wywołują, otrzymają odpowiednie działanie. Zapoznaj się z tymi zasadami przed przesłaniem aplikacji, aby zadbać o jak najlepsze wrażenia użytkowników i uniknąć opóźnień w sprawdzaniu aplikacji lub jej odrzucenia.
Kierowanie użytkowników do treści przeznaczonych dla użytkowników
Wbudowane intencje lub parametry akcji w aplikacji mogą kierować użytkowników tylko do odpowiednich działań zamierzonych przez użytkownika. Mogą to być treści w aplikacji i witrynie lub informacje wyświetlane we fragmentach lub widżetach, o ile działanie to było zamierzone przez użytkownika.
Na przykład implementacje
ORDER_MENU_ITEM
BII ułatwiają użytkownikom zainicjowanie zamówienia na konkretną pozycję w menu lub typ potrawy. Jedynym wyjątkiem od tej zasady jest sytuacja, w którejOPEN_APP_FEATURE
BII kieruje użytkowników na ekran główny aplikacji.Kierowanie użytkowników do odpowiednich treści internetowych
Jeśli użytkownicy są przekierowywani na stronę internetową, witryna musi być związana z zamierzonym działaniem użytkownika i być własnością marki.
Naruszeniem jest na przykład przekierowywanie użytkowników, którzy wywołali zdarzenie
GET_RESERVATION
BII, do witrynygoogle.com/travel
, która nie należy do markiexampledomain.com
Twojej aplikacji. Innym przykładem naruszenia jest przekierowanie użytkowników, którzy wywołali Twój wskaźnikGET_CALL_HISTORY
BII doexampledomain.com/payment
, i wymaganie od nich dokonania zakupu.Wdrażanie odpowiednich identyfikatorów BII dla działań w aplikacji
Wdrożone identyfikatory BII muszą być bezpośrednio związane z treścią i funkcjonalnością aplikacji.
Jeśli na przykład Twoja aplikacja należy do kategorii Communications (Sklep Play), nie stosuj metody
ORDER_MENU_ITEM
BII, która jest zalecana w przypadku aplikacji z kategorii Żywność i napoje.Implementowanie odpowiednich intencji niestandardowych
Zdefiniowane zapytania dotyczące intencji niestandardowych odnoszą się do treści i funkcji aplikacji. Przykładem potencjalnego naruszenia tej zasady jest utworzenie intencji
custom.action.intent.GET_RECIPE
z powiązanym wzorcem zapytania „Pokaż przepisy na burrito” dla aplikacji z kategorii Transport w Sklepie Play.