В shortcuts.xml в разделе Capabilities можно указать типы действий, которые пользователи могут выполнить для запуска вашего приложения и непосредственного выполнения определенной задачи.
Например, в Google Assistant App Actions используются возможности, позволяющие разработчикам расширять функции приложения за счет встроенных интентов (BII), что дает пользователям возможность активировать и управлять этими функциями с помощью голосовых команд. Возможность состоит из названия действия и intent , указывающего на целевой объект в вашем приложении, который обрабатывает пользовательский интент.
Определите возможности в файле shortcuts.xml.
Элементы capability определяются в файле ресурсов shortcuts.xml в вашем проекте разработки Android-приложения. Чтобы определить элемент capability , выполните следующие действия:
- Создайте ресурс
shortcuts.xml, следуя инструкциям в разделе «Создание статических ярлыков» . Включите в описание ваших возможностей следующую необходимую информацию:
Название возможности: действие, которое должно поддерживаться в вашем приложении. Для получения информации о функции, требующей определения возможностей, обратитесь к документации компонента. Для голосовых команд App Actions в качестве названий возможностей используется
Action IDBII, который можно найти в справочнике BII . Например, для командыGET_THINGAction IDуказан какactions.intent.GET_THING.Пункт назначения приложения: место в вашем приложении, куда запускается действие для выполнения запроса пользователя. Определяйте пункты назначения приложения с помощью элементов
intent, вложенных вcapability.Сопоставление параметров: каждый
intentможет содержать параметры, передаваемые в качествеextraданных интента. Например, каждый BII действий приложения включает поля, представляющие информацию, которую пользователи часто предоставляют в запросах, запускающих BII.
Следующий пример демонстрирует определение возможностей в файле shortcuts.xml для actions.intent.START_EXERCISE , объекта BII, который позволяет пользователям использовать голосовые команды с помощью Ассистента для начала тренировки в фитнес-приложении:
<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:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
В приведенном выше примере атрибут ` <capability> android:name ссылается на BII-объект START_EXERCISE . Если пользователь вызывает этот BII-объект, обращаясь к Ассистенту с вопросом: «Привет, Google, начни пробежку в ExampleApp», Ассистент выполняет запрос пользователя, используя информацию, предоставленную во вложенном элементе intent . В этом примере intent определяет следующие детали:
- Параметр
android:targetPackageзадает целевой пакет приложения для этого интента. - Поле
android:targetClassуказывает целевое действие:com.example.sampleApp.ExerciseActivity. -
parameterintent определяет поддержку параметра BIIexercise.nameи способ передачи значения параметра, полученного от пользователя, в качестве дополнительных данных вintent.
Свяжите ярлыки с возможностью
После определения возможности вы можете расширить ее функциональность, связав с ней статические или динамические ярлыки. Способ связывания ярлыков с capability зависит от реализуемой функции и текста запроса пользователя. Например, когда пользователь начинает пробежку в вашем приложении для отслеживания физической активности, обращаясь к Ассистенту: «Привет, Google, начни пробежку в ExampleApp», Ассистент может использовать ярлык для запуска экземпляра capability , которая определяет допустимый объект упражнения «run» для параметра exercise.name .
Для получения дополнительной информации о связывании ярлыков с действиями приложения см. раздел «Обзор действий приложения» .