Возможности в shortcuts.xml
позволяют вам объявлять типы действий, которые пользователи могут предпринять для запуска вашего приложения и непосредственного выполнения определенной задачи.
Например, действия приложения Google Assistant используют возможности, позволяющие разработчикам расширять функции приложения до встроенных намерений (BII), позволяя пользователям активировать и управлять этими функциями с помощью голосовых команд. Возможность состоит из названия действия и intent
, указывающего на целевой объект в вашем приложении, который реализует намерение пользователя.
Определить возможности в shortcuts.xml
Элементы capability
определяются в файле ресурсов shortcuts.xml
вашего проекта разработки приложения для Android. Чтобы определить элемент capability
, выполните следующие действия:
- Создайте ресурс
shortcuts.xml
, следуя инструкциям в разделе Создание статических ярлыков . Включите в свои возможности следующую обязательную информацию:
Имя возможности: действие, которое должно поддерживать ваше приложение. Сведения о функции, требующей определения возможностей, см. в документации к компоненту. Голосовые команды App Actions используют
Action ID
BII для имён возможностей, который можно найти в справочнике BII . Например, для BIIGET_THING
Action ID
указан какactions.intent.GET_THING
.Назначение приложения: место назначения в вашем приложении, которое действие запускает для выполнения запроса пользователя. Определите назначения приложения с помощью элементов
intent
, вложенных вcapability
.Сопоставление параметров: каждое
intent
может содержать параметры, передаваемые в качествеextra
данных намерения. Например, каждое BI-приложение «Действия приложения» включает поля, представляющие информацию, которую пользователи часто предоставляют в запросах, запускающих BI-приложение.
В следующем примере показано определение возможности в 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
. -
parameter
намерения объявляет поддержку параметра BIIexercise.name
и способ передачи значения параметра, полученного от пользователя, в качестве дополнительных данных вintent
.
Свяжите ярлыки с возможностями
Определив возможность, вы можете расширить её функциональность, связав с ней статические или динамические сочетания клавиш. Способ привязки сочетаний клавиш к capability
зависит от реализуемой функции и слов, содержащихся в запросе пользователя. Например, когда пользователь начинает пробежку в вашем приложении для отслеживания фитнеса, сказав Ассистенту: «Окей, Google, начни пробежку в ExampleApp», Ассистент может использовать сочетание клавиш для запуска экземпляра capability
, которая определяет допустимую сущность упражнения «бег» для параметра exercise.name
.
Дополнительную информацию о связывании ярлыков с действиями приложений см. в разделе Обзор действий приложений .