Internetowe zasoby reklamowe

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.

Rysunek 1. Przykład zapytania do Asystenta, które korzysta z internetowych zasobów reklamowych, aby pobrać element jednostki restauracyjnej.

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:

  1. W pliku shortcuts.xml swojej aplikacji dodaj tag <capability> z atrybut android:name ustawiony na nazwę BII, z którym się obsługujesz internetowe zasoby reklamowe, na przykład: actions.intent.ORDER_MENU_ITEM.

  2. W tagu <capability> dodaj tag <intent> z tagiem android:action z nazwą widoku, który ma być aktywowany przez tę intencję.

  3. W tym samym tagu <intent> dodaj tag <parameter> i ustaw jego android:name do parametru BII, który najbardziej odpowiada podmiotowi opisanemu przez Twoje strony internetowe. Na przykład podczas podawania zasobów reklamowych w internecie dla ORDER_MENU_ITEM, strony menu musisz kierować menuItem.name

  4. W nowym tagu <parameter> dodaj tag <data> i ustaw jego android: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:

  1. Pierwszy wymaga precyzyjnego linku do zasobów reklamowych w internecie z menuItem.name .
  2. 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:

  1. Połącz urządzenie testowe z uruchomioną aplikacją.
  2. W Android Studio wybierz Narzędzia > Działania w aplikacji > Test działań w aplikacji .
  3. Kliknij Utwórz podgląd.
  4. W Android Studio uruchom aplikację na urządzeniu testowym.
  5. 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”.
  6. Obserwuj działanie aplikacji lub użyj debugera Android Studio, aby: Sprawdź oczekiwane działanie.