Создание действий приложения

Действия приложения позволяют пользователям запускать функции вашего приложения Android, запрашивая Google Assistant или используя ярлыки Android, предложенные Assistant. Это основные шаги по расширению вашего Android-приложения с помощью App Actions:

  1. Определите, какую функциональность приложения следует активировать, и соответствующее ей встроенное намерение (BII) .
  2. Предоставьте подробную информацию о выполнении BII.
  3. Отправьте ярлыки для действий приложения в Ассистент.
  4. Предварительный просмотр действий приложения на тестовом устройстве.
  5. Создайте тестовую версию вашего приложения.
  6. Запросите проверку и развертывание App Actions.

При желании вы можете определить динамические ярлыки для предоставления Ассистенту, чтобы он мог предлагать их вашим пользователям. Создайте действие приложения, используя пример приложения, следуя кодовой лаборатории App Actions .

Требования

Прежде чем приступить к разработке действий приложения, убедитесь, что вы и ваше приложение соответствуете следующим требованиям:

  • У вас должна быть учетная запись Google с доступом к консоли Google Play .
  • Ваше приложение должно быть опубликовано в Google Play Store, поскольку действия приложения доступны только для приложений, опубликованных там. Кроме того, убедитесь, что ваше приложение не предназначено для использования в рабочем профиле, поскольку действия приложения не поддерживаются управляемым Google Play.
  • Вам понадобится физическое или виртуальное устройство для тестирования действий приложения.
  • Вам нужна последняя версия Android Studio .
  • Вы должны использовать одну и ту же учетную запись Google для входа в Android Studio, приложение Google на тестовом устройстве и консоль Google Play.
  • Вам необходимо настроить Ассистента на тестовом устройстве и протестировать его, нажав и удерживая кнопку «Домой» .

Сопоставьте встроенные намерения с функциональностью приложения

Определите функциональные возможности вашего приложения для Android, к которым пользователи могут захотеть перейти с помощью устного запроса, и просмотрите встроенную ссылку на намерения , чтобы найти подходящие BII для ваших вариантов использования. BII моделируют запросы пользователей для задач, которые они хотят выполнить, поэтому ищите BII, которые соответствуют ключевым функциям и потокам пользователей в вашем приложении.

Существуют общие BII , которые может использовать практически любое приложение Android, например расширение поиска в приложении до Assistant с помощью actions.intent.GET_THING BII или предоставление пользователям возможности запускать определенные функции приложения с помощью голоса путем реализации actions.intent.OPEN_APP_FEATURE BII.

Существуют также BII, которые позволяют использовать вертикальные или специфичные для категории варианты использования. Например, приложение для заказа еды может использовать actions.intent.ORDER_MENU_ITEM BII.

Чтобы обеспечить удобство работы с пользователем и избежать возможных задержек с утверждением, убедитесь, что каждый внедряемый вами BII соответствует функциям вашего приложения.

Действия приложения запускают намерения Android из приложения Assistant, чтобы направить пользователей непосредственно к определенному контенту в вашем приложении. Вы можете явно определить намерения запуска действия, указав поля targetClass и targetPackage . Если в вашем приложении уже реализованы URL-адреса ссылок на контент Android , у вас есть возможность настроить намерение использовать ссылку на контент для выполнения. Более подробную информацию можно найти в разделе «Проверьте свою активность» на глубокие ссылки .

Предоставьте подробную информацию о выполнении встроенных намерений.

Большая часть создания действия приложения заключается в объявлении возможности в файле ресурсов shortcuts.xml вашего приложения Android, где вы указываете выбранный BII и его соответствующее выполнение. BII моделирует пользовательский запрос к задаче, а намерение выполнения предоставляет Ассистенту информацию о том, как выполнить задачу.

В файле shortcuts.xml BII представлены как элементы <capability> , а каждое выполнение представлено как элемент <intent> :

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

Для большинства BII вы извлекаете параметры намерения из пользовательского запроса на основе объектов Schema.org . Затем ваше приложение использует эти параметры BII, чтобы направить пользователей к выбранной возможности. Например, предыдущий код сопоставляет параметр BII menuItem.name с параметром intent query Android.

Если вы выполняете действия с использованием глубоких ссылок, вы используете поле urlTemplate для определения глубоких ссылок, которые генерирует Ассистент URL-адресов:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

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

Реализуйте встроенное намерение GET_THING.

Если в вашем приложении есть функция поиска, вам необходимо реализовать actions.intent.GET_THING BII для этой функции. Затем Ассистент может перенаправлять пользователей к функции поиска вашего приложения для получения результатов в приложении, когда они делают запросы типа «Окей, Google, найди пример в приложении-примере».

В файле shortcuts.xml реализуйте <capability> для actions.intent.GET_THING BII так же, как вы реализуете любой другой BII . Вы можете использовать несколько вариантов выполнения для GET_THING , если вы предоставляете хотя бы одно выполнение, которое передает пользовательский запрос в функцию поиска вашего приложения.

Вот пример добавления actions.intent.GET_THING BII в shortcuts.xml :

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

В своей поисковой Activity извлеките поисковый запрос из дополнительных данных intent и передайте его функции поиска вашего приложения. В приведенном выше коде поисковый запрос, переданный в качестве ключа query , сопоставляется с параметром BII "thing.name" . Затем выполните поиск по запросу и отобразите результаты в пользовательском интерфейсе.

Необязательно: отправьте ярлыки действий приложения в Ассистент.

После того как вы определите возможность своего действия, пользователи смогут запустить его, сказав что-то вроде: «Окей, Google, закажи пиццу в приложении-примере». Ассистент может предлагать пользователям ярлыки Android для ваших действий в нужное время, позволяя им обнаруживать и воспроизводить ваши действия. Ассистент может предлагать как динамические, так и статические ярлыки.

Чтобы передать динамические ярлыки Ассистенту, используйте библиотеку интеграции Google Shortcuts. Эта библиотека Jetpack позволяет Помощнику использовать ваши ярлыки и предлагать их пользователям в подходящее время.

Дополнительные сведения см. в разделе Отправка динамических ярлыков Ассистенту .

Предварительный просмотр ваших действий в приложении

Во время разработки и тестирования используйте плагин Google Assistant для Android Studio, чтобы проверить, работают ли действия приложения в вашем приложении. Плагин создает предварительный просмотр ваших действий в приложении в Ассистенте для вашей учетной записи Google. Используя инструмент тестирования, вы можете проверить свои результаты на физическом тестовом устройстве или эмуляторе, предоставив BII входные параметры, которые вы ожидаете получить от пользователей.

Во время предварительного просмотра действий приложения вы можете инициировать запросы голосом на устройстве. Эта функция доступна только для запросов, перечисленных в справочнике BII для действий приложения. Используйте голосовой запуск только для демонстрации, а не для обычного тестирования.

Прежде чем отправлять приложение на проверку, протестируйте свое приложение в режиме черновика с помощью инструментов разработчика для консоли Google Play. Дополнительную информацию об использовании консоли Google Play для развертывания черновика приложения см. в разделе Подготовка и запуск выпуска .

Создать тестовый выпуск

Когда вы будете готовы протестировать действия приложения с помощью дополнительных тестировщиков, создайте версию своего приложения для внутреннего или закрытого тестирования . По умолчанию ваши внутренние и закрытые тестировщики имеют доступ к действиям приложения, которые уже были проверены и одобрены .

Чтобы предоставить тестированию доступ ко всем действиям приложения, включая неутвержденные действия, попросите своих тестировщиков присоединиться к группе Google Программы разработки действий приложения . Члены этой группы имеют доступ ко всем действиям приложения в закрытых и внутренних тестовых выпусках без необходимости создавать предварительные версии с помощью инструмента тестирования действий приложения . После присоединения к группе может пройти до трех часов, прежде чем доступ станет доступен.

Запросить проверку и развертывание App Actions

Действия приложения недоступны пользователям ваших опубликованных приложений или открытых тестовых выпусков, пока они не будут проверены и одобрены. Проверка действий приложения не влияет на проверку и статус вашего приложения Android в Google Play. Даже если ваше приложение будет одобрено и опубликовано в магазине Play, ваш shortcuts.xml может находиться на рассмотрении Google. Действия приложения не будут работать для ваших конечных пользователей, пока эта проверка также не будет одобрена.

Когда вы развертываете приложение, действия приложения остаются активированными. Однако повторно развернутые версии подлежат проверке Google. Если новая версия не работает должным образом или содержит нарушения правил, Google оставляет за собой право деактивировать Действия приложения для вашего приложения.

Чтобы отправить действия в приложении на проверку, выполните следующие действия:

  1. Примите условия обслуживания App Actions в консоли Google Play ( Дополнительные настройки > Действия приложения ):

    Условия использования действий приложения в консоли Google Play.

  2. Загрузите свое приложение , содержащее shortcuts.xml , в консоль Google Play, как обычно, для публикации.

  3. После того как вы загрузите свое приложение в Play Console, Google свяжется с вами по электронной почте в вашей учетной записи Play Console и предоставит дополнительную информацию о статусе проверки действий приложения. Вы также можете обратиться в службу поддержки Assistant Developer, если у вас возникнут вопросы относительно статуса проверки ваших действий в приложении. В контактной форме укажите идентификатор пакета приложения и выберите «Просмотр действий приложения» в разделе «Как мы можем вам помочь?» поле выбора.

Чтобы использовать глубокую ссылку для запуска Activity с помощью действия приложения, Activity должно быть настроено с URL-адресами глубоких ссылок и иметь соответствующий фильтр намерений в манифесте приложения Android.

Чтобы проверить, что ваши действия доступны и могут быть запущены с помощью действий приложения с использованием глубоких ссылок, выполните следующую команду adb :

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

Например:

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

Если ваша активность не запускается правильно с помощью команды adb , проверьте следующее:

  • В файле манифеста вашего приложения действие имеет android:exported=true , поэтому его можно запустить с помощью намерений из Google Assistant.
  • Если вы используете URL-адреса ссылок на приложения, выполните все действия, описанные в разделе «Обработка ссылок на приложения Android» .

Политики действий приложений

Действия приложения должны соответствовать определенным политикам, чтобы гарантировать, что пользователи, которые их запускают, получают желаемый опыт. Ознакомьтесь с этими правилами перед отправкой приложений, чтобы обеспечить максимальное удобство для пользователей и избежать задержек или отклонений при проверке в Play Store.

  • Направляйте пользователей к пользовательскому контенту

    Встроенные намерения и/или параметры App Action (BII) должны только направлять пользователей к соответствующему и предполагаемому пользователю действию. Это может включать контент внутри приложения, контент веб-сайта или информацию, отображаемую в фрагментах или виджетах, если это было задумано пользователем.

    Например, реализации ORDER_MENU_ITEM BII помогают пользователям инициировать заказ на указанный пункт меню или тип кухни. Единственным исключением из этой политики является случай, когда ваш OPEN_APP_FEATURE BII направляет пользователей на главный экран вашего приложения.

  • Направляйте пользователей к соответствующему веб-контенту

    Если пользователи перенаправляются на содержимое веб-страницы, веб-сайт должен соответствовать предполагаемому действию пользователя и принадлежать бренду.

    Например, нарушением является перенаправление пользователей, которые запускают ваш GET_RESERVATION BII, на google.com/travel , который не принадлежит бренду exampledomain.com вашего приложения. Еще одним примером нарушения является перенаправление пользователей, активировавших ваш GET_CALL_HISTORY BII, на exampledomain.com/payment и требование от них совершить покупку.

  • Внедрите соответствующие BII действий приложений.

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

    Например, если ваше приложение находится в категории «Связь» в Play Store, не внедряйте ORDER_MENU_ITEM BII, который рекомендуется для приложений в категории «Еда и напитки».

  • Реализуйте соответствующие пользовательские намерения

    Определенные запросы для пользовательских намерений относятся к содержимому и функциям приложения. Примером потенциального нарушения этой политики является создание намерения custom.action.intent.GET_RECIPE со связанным шаблоном запроса «Покажи мне рецепты буррито» для приложения в категории «Транспорт» в Play Store.