Возможности в shortcuts.xml
позволяют вам объявлять типы действий, которые пользователи могут выполнять для запуска вашего приложения и непосредственного выполнения определенной задачи.
Например, Google Assistant App Actions использует возможности, позволяющие разработчикам расширять функции приложения до встроенных намерений (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
данные намерения. Например, каждое действие приложения BII включает поля, представляющие информацию, которую пользователи часто предоставляют в запросах, запускающих BII.
В следующем примере показано определение возможности в shortcuts.xml
для actions.intent.START_EXERCISE
, BII, которая позволяет пользователям использовать голосовые команды с помощью Assistant, чтобы начать тренировку в фитнес-приложении:
<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, спрашивая Assistant: «Привет, Google, начни пробежку в ExampleApp», Assistant выполняет запрос пользователя, используя информацию, предоставленную во вложенном элементе intent
. intent
в этом примере определяет следующие детали:
-
android:targetPackage
устанавливает целевой пакет приложения для этого намерения. - Поле
android:targetClass
определяет целевую активность:com.example.sampleApp.ExerciseActivity
. -
parameter
намерения объявляет поддержку параметра BIIexercise.name
и способ передачи значения параметра, полученного от пользователя, в качестве дополнительных данных вintent
.
Свяжите сочетания клавиш с возможностью
После определения возможности вы можете расширить ее функциональность, связав с ней статические или динамические сочетания клавиш. То, как сочетания клавиш связаны с capability
, зависит от реализуемой функции и фактических слов, включенных в запрос пользователя. Например, когда пользователь начинает пробежку в вашем приложении для отслеживания фитнеса, спрашивая Assistant: «Окей, Google, начни пробежку в ExampleApp». Assistant может использовать сочетание клавиш для запуска экземпляра capability
, которая определяет допустимую сущность упражнения «бег» для параметра exercise.name
.
Дополнительную информацию о привязке ярлыков к действиям приложений см. в разделе Обзор действий приложений .