Dzięki Akcjom w aplikacji użytkownicy mogą przejść bezpośrednio do zawartości aplikacji, mówiąc: na przykład „OK Google, pokaż mi menu kawiarni Three Dot Cafe w aplikacji PrzykładowaAplikacja”. Takie funkcje to tzw. precyzyjne linki i mogą ułatwić pomaga użytkownikom w wykonywaniu zadań w aplikacji.
Aby zrealizować tego typu prośbę, Asystent Google generuje precyzyjny link do strony dopasowujących treści w aplikacji. Jeśli Twoja witryna aktywnie utrzymuje się treści lub informacji o produkcie, a precyzyjne linki w aplikacji są porządkowane według tych publicznych treści z internetu, możesz skonfigurować Asystenta, aby pobierał adresy URL w celu wykonania działania w ramach realizacji zamówienia w witrynie, korzystając z internetowych zasobów reklamowych.
Zasoby reklamowe w internecie to lokalizacja witryny w przypadku obsługiwanych adresów URL produktów
przez Twoją aplikację. Gdy użytkownik wywoła działanie w aplikacji, Asystent dopasowuje użytkownika
np. „kawiarnia Three Dot”, do odpowiednich adresów URL w indeksie wyszukiwarki Google.
witryny podanej w shortcuts.xml
dla aplikacji na Androida.
Zalety
Zasoby reklamowe w internecie mają zalety dla aplikacji z obszernymi, regularnie aktualizowanymi listami produkty wyświetlane lub zamawiane przez użytkowników w aplikacji:
W odróżnieniu od danych o zasobach reklamowych wbudowanych dane o zasobach reklamowych w internecie są przechowywane w witrynie. który przechowuje listy produktów w aplikacji. Zezwalaj Asystentowi na dostęp do danych z sieci, aby uniknąć ryzyko nieaktualnych danych o asortymencie, które mogą być aktualizowane tylko opublikowanie nowej wersji aplikacji.
Wbudowane zasoby reklamowe mogą zawierać maksymalnie 1000 elementów. Natomiast internetowe zasoby reklamowe nie ma limitu produktów i może się rozwijać zgodnie z Twoimi potrzebami.
Zasoby reklamowe w internecie mogą uprościć logikę aplikacji, zezwalając w ten sposób na realizację zamówienia tylko obsługi przewidywalnych adresów URL treści pobieranych z Twojej witryny. Jeśli natomiast Jeśli nie masz skonfigurowanych zasobów reklamowych, Asystent wygeneruje precyzyjne linki dla przez mapowanie parametrów intencji na zmienne w szablonie URL. Twoje będzie musiał przeanalizować ten dynamicznie generowany URL, określać, czy użytkownik zażądał obsługiwanego elementu w aplikacji.
Jak to działa
Podczas działania w aplikacji Asystent automatycznie dodaje linki do treści w aplikacji za pomocą wbudowanych
(BII) zdefiniowane w narzędziu shortcuts.xml
. Asystent używa języka naturalnego
może identyfikować odpowiednie elementy w żądaniu użytkownika i je wyodrębniać
do parametrów BII. Asystent generuje precyzyjny link na podstawie tych parametrów,
na podstawie Twojej konfiguracji realizacji w shortcuts.xml.
Istnieją 3 metody generowania precyzyjnych linków na potrzeby realizacji:
- Mapowanie parametrów: parametry intencji Mapuj na obiekty zastępcze w parametrze szablon adresu URL realizacji.
- Wbudowane zasoby reklamowe: dopasowuje parametry intencji do listy obsługiwanych elementów.
entities
zdefiniowane w aplikacji. - Zasoby internetowe: dopasowuje parametry intencji do treści znalezionych w witrynie Indeks wyszukiwarki Google.
Zasoby reklamowe w internecie to zdefiniowany przez programistę wzorzec adresu URL witryny,
taki jak https://www.exampleapp.com/restaurants/.*
, reprezentujący zbiór encji
elementów obsługiwanych przez aplikację.
Jeśli parametr BII jest skonfigurowany dla internetowych zasobów reklamowych, Asystent
do witryny, aby dopasować encję do zapytania użytkownika. Asystent wtedy
przekazuje wyniki adresów URL pasujące do skonfigurowanego wzorca adresu URL, na przykład
https://www.exampleapp.com/restaurants/three-dot-cafe
, do Twojej realizacji.
![](https://developer.android.google.cn/static/guide/app-actions/images/web-inventory-flow.png?authuser=0000&hl=pl)
Obsługiwane intencje wbudowane
Zasoby reklamowe w internecie są obsługiwane w przypadku określonych parametrów intencji: Identyfikatory BII:
- [
actions.intent.CREATE_REVIEW
] - [
actions.intent.GET_NEWS_ARTICLE
] - [
actions.intent.GET_REVIEW
] - [
actions.intent.GET_THING
] - [
actions.intent.ORDER_MENU_ITEM
] - [
actions.intent.GET_EXERCISE_PLAN
] - [
actions.intent.GET_DIGITAL_DOCUMENT
] - [
actions.intent.GET_ITEM_LIST
] - [
actions.intent.GET_OFFER
] - [
actions.intent.CREATE_OFFER
] - [
actions.intent.GET_PRODUCT
] - [
actions.intent.UPDATE_CART
] - [
actions.intent.CREATE_SOCIAL_MEDIA_CONNECTION
] - [
actions.intent.GET_IMAGE_OBJECT
] - [
actions.intent.GET_SOCIAL_MEDIA_POSTING
] - [
actions.intent.GET_SOCIAL_MEDIA_PROFILE
] - [
actions.intent.CREATE_TAXI_RESERVATION
] - [
actions.intent.CREATE_FLIGHT_RESERVATION
] - [
actions.intent.CREATE_LODGING_RESERVATION
] - [
actions.intent.GET_LOCAL_BUSINESS
] - [
actions.intent.GET_RESERVATION
] - [
actions.intent.UPDATE_RESERVATION
]
Dodaj internetowe zasoby reklamowe
Gdy zidentyfikujesz obsługiwany mechanizm BII, włącz go dla internetowych zasobów reklamowych, aktualizując
shortcuts.xml
ze szczegółowymi informacjami o Twojej witrynie. Plik shortcuts.xml
jest
w projekcie Androida, w którym definiujesz wskaźniki BII mapowane na
do funkcji aplikacji i o tym, jak każdy z nich powinien generować precyzyjne linki,
lub je wypełnić. Więcej informacji o pliku shortcuts.xml
znajdziesz w artykule Tworzenie skrótów.xml.
Aby skorzystać z internetowych zasobów reklamowych na potrzeby obsługiwanej usługi BII, wykonaj te czynności:
W pliku
shortcuts.xml
swojej aplikacji dodaj tag<capability>
z atrybutandroid:name
ustawiony na nazwę BII, z którym się obsługujesz internetowe zasoby reklamowe, na przykład:actions.intent.ORDER_MENU_ITEM
.W tagu
<capability>
dodaj tag<intent>
z tagiemandroid:action
z nazwą widoku, który ma być aktywowany przez tę intencję.W tym samym tagu
<intent>
dodaj tag<parameter>
i ustaw jegoandroid:name
do parametru BII, który najbardziej odpowiada podmiotowi opisanemu przez Twoje strony internetowe. Na przykład podczas podawania zasobów reklamowych w internecie dlaORDER_MENU_ITEM
, strony menu musisz kierowaćmenuItem.name
W nowym tagu
<parameter>
dodaj tag<data>
i ustaw jegoandroid:pathPattern
do wzorca adresu URL wybranej ścieżki zasobów reklamowych w internecie.
Jeśli skonfigurujesz usługę shortcuts.xml
w ten sposób, Asystent będzie mógł:
pobierania treści internetowych z indeksu wyszukiwarki Google odpowiadającego wzorca adresu URL
w atrybucie android:pathPattern
. Następnie Asystent podaje adres URL
na podstawie wyników pasujących do wzorca ścieżki adresu URL
zdefiniowano jego definicję. Aplikacja kieruje użytkownika do określonego miejsca w aplikacji
z użyciem danych adresów URL podanych przez Asystenta.
Na przykład Twoja witryna zawiera informacje o produktach, które korzystają ze ścieżki adresu URL
zaczynając od https://www.examplecafe.com/items/
. Korzystasz z usługi pathPattern
ma wartość https://www.examplecafe.com/items/.*
, a Asystent używa tego adresu URL
w wyszukiwarce internetowej, by znaleźć adres URL realizacji, np.
https://www.examplecafe.com/items/item123
Jeśli Asystent znajdzie pasujący adres URL zasobów reklamowych w internecie, poda go w parametrze
<data>
intencji realizacji, jakby to był precyzyjny link. Użyj
getData()
metody intencji, by uzyskać adres URL jako obiekt Uri
. Aktywność w aplikacjach,
odbiera intencję odpowiada za interpretację adresu URL i jego aktywację
z odpowiednim interfejsem użytkownika aplikacji.
Przykład skrótów.xml
Poniższy przykład definiuje ORDER_MENU_ITEM
BII,
udostępnia spis internetowy, aby zwracać wyniki adresów URL dla żądań zawierających
Parametr menuItem.name
BII:
<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<!-- Define URL match pattern in the pathPattern data field -->
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*"/>
</parameter>
</intent>
</capability>
</shortcuts>
W powyższym przykładzie parametr pathPattern
jest określony dla: menuItem.name
,
poinstruujesz Asystenta, aby zwracał tylko adresy URL pasujące do wzorca adresu URL:
https://www.examplecafe.com/items/.*
Więcej przykładów BII, które obsługują zasoby reklamowe w internecie, to: shortcuts.xml
znajdziesz w dokumentacji referencyjnej.
Obsługa kreacji zastępczych w przypadku brakujących wyników
W sytuacjach, gdy wyniki zasobów reklamowych w internecie nie są zwracane do realizacji, aplikacja powinna implementować logikę awaryjną, aby realizować działanie z najlepszym użytkowników. Sytuacje, w których brakuje wyników:
- Brak parametru intencji: użytkownik pominął oczekiwany parametr w swojej kolumnie zapytanie lub Asystent nie zrozumiał parametru podanego przez użytkownika użytkownika.
- Brak adresu URL w wyniku: Asystent nie mógł znaleźć elementu na Twojej pasującej do zapytania użytkownika.
Brakujące wartości parametrów możesz dostosować, definiując kilka elementów <intent>
elementów danej możliwości. Jeśli Asystent nie może spełnić pierwszej intencji,
wiąże się z następnym zamiarem i tak dalej.
Intencje zastępcze nie powinny wymagać parametrów. Zamiast tego realizować możliwości za pomocą bardziej ogólnych precyzyjnych linków, takich jak wyświetlanie w przypadku zapytania użytkownika.
W poniższym przykładzie shortcuts.xml
typ ORDER_MENU_ITEM
BII
określa 2 realizacje: pierwsza oczekuje adresu URL z tagu menuItem.name
. Drugi nie wymaga parametrów i kieruje użytkownika na stronę, która wyświetla się
wszystkich pozycji menu.
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*"/>
</parameter>
</intent>
<!-- Fallback intent with no required parameters -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ViewMenuActivity">
<url-template android:value="myapp://app.examplecafe.com/menu/all-items" />
</intent>
</capability>
Jeśli URL internetowego zasobu reklamowego nie jest zwracany, treść użytkownika może być wciąż używane w intencjach zastępczych, np. do wyświetlania wyników.
W tym przykładzie shortcuts.xml
zdefiniowane są 2 elementy intencji:
- Pierwszy wymaga precyzyjnego linku do zasobów reklamowych w internecie z
menuItem.name
. - Jeśli precyzyjny link nie jest zwracany, druga intencja wyświetla wyszukiwanie
wyników przy użyciu zapytania użytkownika z
menuItem.name
(jeśli występuje).
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*" />
</parameter>
</intent>
<!-- Fallback intent displaying search results, using "menuItem.name" -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.SearchMenuActivity">
<parameter-mapping android:name="menuItem.name" android:key="food" />
<url-template android:value="https://www.examplecafe.com/search?q={?food}" />
</intent>
</capability>
Dodaj wyszukiwanie w aplikacji za pomocą internetowych zasobów reklamowych
Aby umożliwić użytkownikom wyszukiwanie treści w internecie w aplikacji, możesz połączyć
zasobów reklamowych z implementacją actions.intent.GET\_THING
BII.
Ten BII wyszukuje treści lub elementy przy użyciu domyślnego wyszukiwania w aplikacji
funkcja w aplikacji, która umożliwia zapytanie w rodzaju: „OK Google, pokaż mi wycieczki do wodospadu
w SampleApp”. Konfigurując internetowe zasoby reklamowe na potrzeby funkcji thing.name
przekazany przez GET_THING
BII, pasujący do wyników encji z
są przekazywane do realizacji.
Przykłady zasobów reklamowych internetowych shortcuts.xml
znajdziesz w dokumentacji GET\_THING
BII.
Testowanie internetowych zasobów reklamowych
Gdy zdefiniujesz internetowy asortyment na potrzeby realizacji BII, Asystent wygeneruje
precyzyjny link wykorzystujący wyniki z internetu pasujące do zdefiniowanego przez Ciebie wzorca urlTemplate
określony parametr BII. Jeśli nie można znaleźć wyniku z zasobów reklamowych w internecie, Asystent
generuje adres URL pasujący do wzorca urlTemplate
intencji zastępczej. Ty
może przetestować implementację zasobów reklamowych w witrynie, sprawdzając, czy linki Asystenta
dostarczane są adresy URL pasujące do wzorców urlTemplate
Twoich internetowych zasobów reklamowych.
W poniższym przykładzie ORDER_MENU_ITEM
BII Asystent generuje internetowe zasoby reklamowe
linki do realizacji zamówień pasujące do wzorca urlFilter
określonego w parametrze
menuItem.name
, np.:
https://www.examplecafe.com/items/nuggets
Druga intencja przyjmuje wartość
menuItem.name
i przeprowadza wyszukiwanie, jeśli pierwsza intencja nie pasuje
Wzorzec adresu URL.
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<!-- web inventory fulfillment -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter name="menuItem.name">
<data android:pathPattern="https://www.examplecafe.com/items/.*" />
</parameter>
</intent>
<!-- search intent -->
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MenuSearchActivity">
<parameter-mapping android:name="menuItem.name" android:key="food" />
<url-template android:value="https://www.examplecafe.com/search?q={?food}" />
</intent>
</capability>
Za pomocą narzędzia do testowania działań w aplikacji możesz testować internetowe zasoby reklamowe w środowisku fizycznym lub wirtualnym urządzenia.
Aby użyć narzędzia do testowania, wykonaj te czynności:
- Połącz urządzenie testowe z uruchomioną aplikacją.
- W Android Studio wybierz Narzędzia > Działania w aplikacji > Test działań w aplikacji .
- Kliknij Utwórz podgląd.
- W Android Studio uruchom aplikację na urządzeniu testowym.
- Aby przetestować działanie w aplikacji, użyj aplikacji Asystent na urządzeniu testowym. Dla: Możesz na przykład powiedzieć „OK Google, zamów bułeczki w Przykładowa kawiarnia”.
- Obserwuj działanie aplikacji lub użyj debugera Android Studio, aby: Sprawdź oczekiwane działanie.