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