Встроенные намерения для действий приложения

Встроенные намерения (BII) позволяют вашему приложению сообщить Google о своих возможностях выполнения. Объявляя возможности в файле Shorts.xml и сопоставляя параметры намерения с выполнением, вы позволяете Google Assistant запускать ваше приложение на определенном экране в ответ на запрос, чтобы пользователь мог выполнить задачу.

Встроенные намерения сгруппированы по категориям приложений. Каждая категория представляет собой набор общих задач, которые пользователи часто хотят выполнять в своих приложениях. Полный список доступных BII, их параметров и примеров запросов, которые можно использовать для тестирования, находится во встроенном справочнике по намерениям .

Многие BII имеют особые требования и рекомендации по развертыванию. Эти требования и рекомендации помогут вашему приложению обеспечить максимальное удобство для пользователей.

Рис. 1. Вызовите START_EXERCISE BII с помощью голосового запроса к Ассистенту.
Рисунок 2. Запустите приложение на определенном экране, чтобы начать задачу START_EXERCISE .
Рисунок 3. Отображение виджета в ответ на запрос.

Реализация BII и обработка параметров намерений

Для действий приложения вы объявляете возможности и обрабатываете параметры BII в файле Shorts.xml . Чтобы реализовать BII и обработать его параметры, выполните следующие действия:

  1. Объявите capability с выбранным BII.
  2. Добавьте вложенные элементы parameter для каждого поля BII, которое вы хотите добавить.
    1. Если вы используете targetClass или targetPackage , сопоставьте их с extras функциями Android, используя выбранное вами имя.
    2. Если вы используете URL-адрес глубокой ссылки, используйте именованные параметры в строке запроса шаблона URL-адреса.

Чтобы обработать параметр BII, сопоставьте его с соответствующим параметром явного намерения Android в вашей capability . Затем вы можете использовать его значение в своем приложении. Ваше приложение не обязано обрабатывать параметры BII. Однако попытайтесь обработать поля данных, помеченные как «Рекомендуемые» во встроенной ссылке на намерения .

Вы можете определить несколько вариантов выполнения намерений, каждое из которых имеет собственный набор рекомендуемых параметров. Google выбирает подходящее выполнение на основе параметров возможностей, которые он идентифицирует из запроса пользователя, и тех, которые объявлены в намерении.

Например, намерение actions.intent.START_EXERCISE рекомендует вашему приложению обрабатывать параметр BII exercise.name , но вы можете реализовать BII в своем приложении без параметров. Вы можете сделать это, если хотите обрабатывать запросы пользователей без конкретного названия упражнения, например «Попросить приложение-пример начать отслеживать упражнения».

В следующем фрагменте есть запасной вариант выполнения без обязательных параметров, если параметры не включены в запрос пользователя:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">

    <capability android:name="actions.intent.START_EXERCISE">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity1"
            android:targetPackage="com.example.myapplication">
            <parameter
                android:name="exercise.name"
                android:key="exerciseType"
                android:required="true"
                />
        </intent>
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity2">
        </intent>
    </capability>
</shortcuts>

Google Assistant делает все возможное, чтобы предоставить пользователю наиболее актуальную информацию при возврате значений параметров в ваше приложение. Например, пользовательские запросы на заказ пиццы из мобильного приложения «Пример ресторана» не всегда включают местоположение. Чтобы лучше обслуживать пользователя, Ассистент может предоставить этому приложению значения широты и долготы ближайшего примера ресторана.

В качестве дополнительного требования вы не хотите, чтобы ваше приложение напрямую выполняло действие, которое изменяет реальное состояние пользователя (например, перевод денег, размещение заказа или отправку сообщения) без предварительного подтверждения действия пользователем.

Значения

Аргументы, передаваемые в ваше приложение через <url-parameter> или дополнительные функции намерения, могут не идентифицировать однозначно элемент, который вы хотите показать пользователю. В этом случае используйте значение аргумента в качестве аргумента поиска и перенаправьте пользователя на страницу поиска приложения. Они смогут разобраться и выбрать правильный предмет.

Например, если запрос пользователя — «Заказ из примера ресторана» для BII ORDER_MENU_ITEM , вы можете представить пользователю список ресторанов, названия которых соответствуют термину "Example Restaurant" .

Поддержка языка и локали

Языковые стандарты, поддерживаемые для разработки и тестирования каждым BII App Action, перечислены во встроенном справочнике по намерениям . Некоторые BII поддерживают разные языковые стандарты для тестирования разработчиков и запуска пользователей из Ассистента.