Встроенные намерения (BII) позволяют вашему приложению сообщить Google о своих возможностях выполнения. Объявляя возможности в файле Shorts.xml и сопоставляя параметры намерения с выполнением, вы позволяете Google Assistant запускать ваше приложение на определенном экране в ответ на запрос, чтобы пользователь мог выполнить задачу.
Встроенные намерения сгруппированы по категориям приложений. Каждая категория представляет собой набор общих задач, которые пользователи часто хотят выполнять в своих приложениях. Полный список доступных BII, их параметров и примеров запросов, которые можно использовать для тестирования, находится во встроенном справочнике по намерениям .
Многие BII имеют особые требования и рекомендации по развертыванию. Эти требования и рекомендации помогут вашему приложению обеспечить максимальное удобство для пользователей.
Реализация BII и обработка параметров намерений
Для действий приложения вы объявляете возможности и обрабатываете параметры BII в файле Shorts.xml . Чтобы реализовать BII и обработать его параметры, выполните следующие действия:
- Объявите
capability
с выбранным BII. - Добавьте вложенные элементы
parameter
для каждого поля BII, которое вы хотите добавить.- Если вы используете
targetClass
илиtargetPackage
, сопоставьте их сextras
функциями Android, используя выбранное вами имя. - Если вы используете 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 поддерживают разные языковые стандарты для тестирования разработчиков и запуска пользователей из Ассистента.