Добавьте возможности к ярлыкам

Возможности в shortcuts.xml позволяют вам объявлять типы действий, которые пользователи могут выполнять для запуска вашего приложения и непосредственного выполнения определенной задачи.

Например, Google Assistant App Actions использует возможности, позволяющие разработчикам расширять функции приложения до встроенных намерений (BII), позволяя пользователям активировать и управлять этими функциями с помощью голосовых команд. Возможность состоит из имени действия и intent нацеленного на пункт назначения в вашем приложении, который разрешает намерение пользователя.

Определить возможности в shortcuts.xml

Вы определяете элементы capability в файле ресурсов shortcuts.xml в вашем проекте разработки приложения Android. Чтобы определить элемент capability , выполните следующие действия:

  1. Создайте ресурс shortcuts.xml , следуя инструкциям в разделе Создание статических ярлыков .
  2. Включите в свои возможности следующую обязательную информацию:

    • Имя возможности: действие, которое должно поддерживать ваше приложение. Обратитесь к документации компонента для получения информации о функции, требующей определений возможностей. Голосовые команды App Actions используют Action ID BII для имен возможностей, которые можно найти в справочнике BII . Например, BII GET_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 намерения объявляет поддержку параметра BII exercise.name и способ передачи значения параметра, полученного от пользователя, в качестве дополнительных данных в intent .

Свяжите сочетания клавиш с возможностью

После определения возможности вы можете расширить ее функциональность, связав с ней статические или динамические сочетания клавиш. То, как сочетания клавиш связаны с capability , зависит от реализуемой функции и фактических слов, включенных в запрос пользователя. Например, когда пользователь начинает пробежку в вашем приложении для отслеживания фитнеса, спрашивая Assistant: «Окей, Google, начни пробежку в ExampleApp». Assistant может использовать сочетание клавиш для запуска экземпляра capability , которая определяет допустимую сущность упражнения «бег» для параметра exercise.name .

Дополнительную информацию о привязке ярлыков к действиям приложений см. в разделе Обзор действий приложений .