Przy wdrażaniu akcji w aplikacji na Androida może się okazać, że
obsługi żądań będących odmianami motywu. Na przykład powiedz
aplikacja do fitnessu wykorzystuje wbudowaną intencję (BII) START_EXERCISE
, aby umożliwić
użytkownicy uruchamiają szeroką gamę treningów, wydając Asystentowi polecenia takie jak:
„OK Google, rozpocznij uruchomienie w aplikacji Przykładowa aplikacja”
Spełnienie tej intencji wymaga logiki dopasowania żądania do obsługi każdego rodzaj treningu, w tym odmiany takie jak „jogging”, „sprint”, czyli „rasa”. Taka logika szybko staje się niewygodna, w miarę jak zwiększa się liczba obsługiwanych treningów.
W przypadku obsługiwanych BII, takich jak START_EXERCISE
, możesz uniknąć tego złożonego dopasowywania
z użyciem wbudowanych zasobów reklamowych. Wbudowane zasoby reklamowe to zbiór statycznych
Skróty dotyczące Androida zdefiniowane w aplikacji shortcuts.xml
, które reprezentują funkcje i treści
w aplikacji.
Każdy skrót zawiera identyfikator elementu i listę synonimów reprezentujące różnice w sposobie, w jaki użytkownicy mogą się do niego odwoływać. Podczas wywoływania Narzędzie BII porównuje podany przez użytkownika parametr BII z listą synonimów. Gdy znaleziony odpowiednik, parametr BII zostanie zaktualizowany do elementu pasującego skrótu
Wbudowany asortyment pozwala Asystentowi Google uprościć parametr BII wartości podawanych do aplikacji podczas wywoływania akcji w aplikacji.
Wbudowane funkcje zasobów reklamowych, takie jak tabele przeglądowe parametrów BII, wyrażanie różnorodnych sposobów, w jakie użytkownicy odwołują się do funkcji lub treści w aplikacji. używając zdefiniowanych przez Ciebie identyfikatorów produktów. Upraszczają one dopasowywanie żądań aplikacji pozwalając realizacji zamówień na przewidzenie identyfikatorów produktów z BII .
Ograniczenia i alternatywne rozwiązania
Wbudowane skróty dotyczące zasobów reklamowych mają te ograniczenia:
- Limit skrótów: można utworzyć maksymalnie 1000 wbudowanych skrótów dotyczących zasobów reklamowych zdefiniowane dla każdej aplikacji.
- Limit synonimów: każdy skrót wbudowanego zasobu reklamowego może zawierać maksymalnie 20 synonimów.
- Definicja statyczna: wbudowane skróty dotyczące zasobów reklamowych są statycznie deklarowane.
w
shortcuts.xml
. Można ją zaktualizować dla użytkowników tylko po opublikowaniu nowej wersji Twojej aplikacji.
Biorąc pod uwagę wymóg konfiguracji statycznej, wbudowane zasoby reklamowe Pozwalają rozszerzyć rzadko zmieniające się niespersonalizowane informacje Asystent, np. dania w menu, trasy autobusów lub rozmiary napojów. Inne rodzaje treści, rozważ następujące alternatywne rozwiązania:
Zasoby reklamowe w internecie:umożliwia Asystentowi wysyłanie zapytań dotyczących publicznych treści w internecie, gdy dopasowywania zapytań użytkowników do obsługiwanych identyfikatorów zawartości aplikacji. Zasoby reklamowe w internecie zapytań, które są wykonywane w czasie rzeczywistym podczas wywoływania, co pozwala rozszerzyć katalogi produktów, posty w mediach społecznościowych i inne często aktualizowane treści. do Asystenta.
Dynamiczne skróty: poszerzają zasoby spersonalizowanych treści aplikacji. do Asystenta. Skróty dynamiczne umożliwiają użytkownikom szybkie odtwarzanie częstych utworów działania, takie jak zmiana kolejności ulubionego napoju w aplikacji do zamawiania jedzenia albo aplikacji do robienia notatek i otwierania listy zakupów.
Tworzenie wbudowanych zasobów reklamowych
Wbudowany asortyment upraszcza tworzenie aplikacji, dając Asystentowi przydatny sposób przetłumaczyć różne sposoby, w jakie użytkownicy proszą o treści i funkcje aplikacji w przewidywalne identyfikatory, których oczekuje aplikacja. Dla: Załóżmy np., że Twoja aplikacja oferuje różne treningi, z których użytkownicy mogą korzystać i aplikacja oczekuje, że użytkownicy będą wykonywali te żądania ten sam typ ćwiczenia:
- OK Google, rozpocznij uruchomienie w aplikacji Przykładowa aplikacja.
- OK Google, zacznij biegać w aplikacji Przykładowa aplikacja.
We wbudowanym skrócie do zasobów reklamowych ustawiasz shortcutId
na "CARDIO_RUN"
,
identyfikator ćwiczenia wymagany przez aplikację. Następnie podajesz „uruchom”. oraz
"bieganie" jako synonimy powiązane z hasłem shortcutId
. Następnie, gdy użytkownik wywoła
do akcji w aplikacji z poprzednimi zapytaniami, Asystent używa identyfikatora
"CARDIO_RUN"
dla parametru BII podczas generowania intencji realizacji.
Ten fragment kodu z przykładowego pliku app/res/shortcuts.xml
implementuje
w tym przypadku:
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ExerciseActivity">
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</capability>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
</shortcut>
W poprzednim przykładzie wbudowane zasoby reklamowe shortcut
deklarują
<parameter-binding>
w elemencie <capability-binding>
,
z parametrem exercise.name
BII zdefiniowanym w
<capability>
Zasób tablicy ciągu @array/run_names
określa listę synonimów w
res/values/arrays.xml
rozpoznawane przez Asystenta i mapowane na
Identyfikator produktu ("CARDIO_RUN"
):
<!-- Synonym values for "CARDIO_RUN" inline inventory -->
<resources>
<string-array name="run_names">
<item>Run</item>
<item>Jog</item>
<item>Sprint</item>
</string-array>
</resources>
Jeśli dla danej funkcji dostępna jest właściwość <url-template>
, shortcutId
dla
w wygenerowanym adresie URL zostanie wstawiona pasująca wartość
. Następujący kod z przykładu
Plik app/res/shortcuts.xml
implementuje ten przypadek:
<capability android:name="actions.intent.START_EXERCISE">
<intent>
<url-template android:value="myapp://workout{?exercise}" />
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</capability>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
</shortcut>
W poprzednim przykładzie Asystent generuje precyzyjny link do realizacji
myapp://workout?exercise=CARDIO_RUN
Realizacja za pomocą intencji skrótów
Domyślnie skrót udostępnia funkcję shortcutId
pasujących wbudowanych zasobów reklamowych
do intent
elementu capability
, z którym powiązany jest skrót, zgodnie z zadeklarowaną wartością
w tagu <capability-binding>
skrótu. Dostępne opcje
możesz też określić, że intent
zdefiniowany w samym skrócie ma być używany do
dla realizacji, dodając tag <shortcut-fulfillment>
do capability
.
Następujący kod z przykładowego pliku app/res/shortcuts.xml
implementuje
realizacja skrótu:
<capability android:name="actions.intent.START_EXERCISE">
<shortcut-fulfillment>
<parameter android:name="exercise.name"/>
</shortcut-fulfillment>
</capability>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
<intent android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ExerciseActivity">
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</shortcut>
W poprzednim przykładzie, jeśli zapytanie użytkownika pasuje do wbudowanej wartości asortymentu
w przypadku parametru exercise.name
, tagu <shortcut-fulfillment>
określa, że intent
powiązanego skrótu jest używany do realizacji.
Wbudowane zasoby reklamowe dla funkcji otwartej aplikacji BII
Wbudowane zasoby reklamowe są zwykle opcjonalną funkcją dotyczącą analityki biznesowej, która
jest wymagany w przypadku niektórych danych BII, takich jak OPEN_APP_FEATURE
. Ten
często używane BII pozwala użytkownikom tworzyć precyzyjne linki do konkretnych funkcji aplikacji.
za pomocą Asystenta.
Funkcja Otwarta aplikacja BII wymaga wbudowanego spisu nazw funkcji aplikacji, aby
sprawdzać przed dodaniem precyzyjnego linku do strony, czy istnieje funkcja, o którą prosi użytkownik;
do aplikacji.
Implementuje to poniższy kod z przykładowego pliku app/res/shortcuts.xml
BII z 1 skrótem reprezentującym funkcję stanu zamówienia w aplikacji:
<capability android:name="actions.intent.OPEN_APP_FEATURE">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MyClass">
<parameter
android:name="feature"
android:key="featureParam" />
</intent>
<!-- Required fallback fulfillment to handle when parameters are missing from user query. -->
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MyClass">
<parameter
android:name="HOME_SCREEN"
android:key="featureParam" />
</intent>
</capability>
<!-- Inline inventory for OPEN_APP_FEATURE. -->
<shortcut android:shortcutId="ORDER_STATUS">
<capability-binding android:key="actions.intent.OPEN_APP_FEATURE">
<parameter-binding
android:key="feature"
android:value="@array/order_status_names" />
</capability-binding>
</shortcut>
Zasoby tablicy ciągu w res/values/arrays.xml
,
@array/order_status_names
, określa listę
synonimy tej funkcji:
<resources>
<string-array name="order_status_names">
<item>Order status</item>
<item>Orders</item>
<item>Order history</item>
</string-array>
</resources>
Gdy te funkcje są dostępne, Asystent może wykonywać różne wyrażenia związane z tą samą cechą:
- „OK Google, pokaż stan mojego zamówienia w aplikacji Przykładowa aplikacja”
- „OK Google, pokaż moje zamówienia w aplikacji Przykładowa aplikacja”
- „OK Google, pokaż moją historię zamówień w aplikacji Przykładowa aplikacja”
Testowanie wbudowanych zasobów reklamowych
Przetestuj zasoby reklamowe, sprawdzając wartości parametrów BII podawane przez Asystenta
w Twojej aplikacji, a jednocześnie spełniają odpowiednie możliwości w ramach tych działań. W tekście
działanie zasobów reklamowych poprzez zastąpienie podanej przez użytkownika wartości BII powiązanej z zasobami reklamowymi
z shortcutId
odpowiedniego skrótu do wbudowanego zasobów reklamowych.
Dla:
na przykład funkcja START_EXERCISE
BII może używać wbudowanych zasobów reklamowych,
przetłumacz podany przez użytkownika parametr BII „run” do odpowiadającego mu ćwiczenia
Identyfikator, "CARDIO_RUN"
.
Wtyczka Asystent Google umożliwia wyświetlanie podglądu wbudowanej aplikacji do zarządzania asortymentem Działania w Asystencie na urządzeniu testowym. Przetestuj asortyment za pomocą wtyczki do wykonaj te czynności:
- Skonfiguruj parametry związane z zasobami reklamowymi funkcji BII za pomocą: wartości synonimów powiązanych z wbudowanymi zasobami reklamowymi.
- Aktywuj BII z wtyczki, wywołując go na urządzeniu testowym.
- Sprawdź wynikowe wartości parametrów podane przez Asystenta na podczas realizacji akcji w aplikacji.