Tworzenie działań w aplikacji

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:

  1. Wskaż funkcję w aplikacji, która ma być aktywowana, oraz pasującą do niej intencję wbudowaną (BII).
  2. Podaj szczegóły realizacji BII.
  3. Przekaż skróty akcji do Asystenta.
  4. Wyświetl podgląd akcji w aplikacji na urządzeniu testowym.
  5. Utwórz wersję testową aplikacji.
  6. 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:

  1. Zaakceptuj warunki korzystania z działań w aplikacji w Konsoli Google Play (Ustawienia zaawansowane > Działania w aplikacji):

    Warunki korzystania z działań w aplikacji w Konsoli Google Play.

  2. Prześlij aplikację zawierającą shortcuts.xml do Konsoli Google Play tak jak zwykle.

  3. 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.

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órej OPEN_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 witryny google.com/travel, która nie należy do marki exampledomain.com Twojej aplikacji. Innym przykładem naruszenia jest przekierowanie użytkowników, którzy wywołali Twój wskaźnik GET_CALL_HISTORY BII do exampledomain.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.