Интеграция Google Assistant для голосового управления Android-приложением
Пользователь говорит «Окей Гугл, открой мой заказ в [Название приложения]» — и приложение открывается на нужном экране. Или «добавь молоко в список покупок в [Приложение]» — и приложение выполняет действие без UI-взаимодействия. Это два разных механизма интеграции с Google Assistant, и оба требуют отдельной реализации.
Два способа интеграции
Built-in intents (BII) — Google предоставляет предопределённые типы действий: actions.intent.ORDER_MENU_ITEM, actions.intent.CREATE_TAXI_RESERVATION, actions.intent.GET_NEWS_ARTICLE и ещё 60+ вариантов. Приложение регистрирует поддержку конкретных BII через shortcuts.xml, Assistant понимает естественный язык и маппит его на нужный intent.
Conversational Actions (Dialogflow) — полноценный диалоговый агент для сложных многошаговых сценариев. Приложение не открывается — Assistant ведёт диалог от имени приложения. Это отдельная экосистема с Dialogflow CX/ES, webhook-интеграцией и собственным deployment-процессом. Для большинства мобильных приложений этот путь избыточен.
Мы фокусируемся на App Actions с BII — это основная интеграция для нативных Android-приложений.
Как работают App Actions
В res/xml/shortcuts.xml объявляются capabilities — какие BII поддерживает приложение и какой Intent или deeplink запускать:
<capability android:name="actions.intent.CREATE_TAXI_RESERVATION">
<intent
android:targetPackage="com.example.app"
android:targetClass="com.example.app.BookingActivity">
<parameter
android:name="taxiReservation.pickupLocation.name"
android:key="pickup_location" />
</intent>
</capability>
Файл регистрируется в манифесте через <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />.
Assistant извлекает параметры из голосовой команды через NLU — например, место отправления из фразы «закажи такси от Крещатика» — и передаёт их в Intent как extras. Приложение получает Intent в Activity и действует по параметрам.
Что усложняет реализацию
Выбор правильного BII. Google предоставляет список встроенных интентов, разбитых по категориям: fitness, food ordering, transportation, messaging, media. Если функционал приложения не совпадает с готовыми BII — остаётся только Custom Intents (App Actions, ограниченный набор через Actions Console, требует одобрения Google).
Parameter mapping. BII передают параметры в структурированном формате (schema.org-типы). taxiReservation.pickupLocation.name — строковое значение. Но что если пользователь сказал неточно и NLU вернул неверный адрес? Приложение должно это обрабатывать — показывать экран подтверждения или просить уточнить.
Тестирование. Google предоставляет gactions CLI и плагин Google Assistant для Android Studio. gactions test --action-package ... --invocation-name "..." — симуляция команды. На реальном устройстве Assistant должен быть настроен на тот же аккаунт Google Play Console. Без этого тестирование на физических устройствах невозможно до публикации в Production.
Версии Android. App Actions работают на Android 5.0+, но полноценно — с Google app 6.13+. Не все пользователи имеют актуальную версию. Fallback-поведение при отсутствии поддержки нужно проектировать.
In-app shortcuts. Assistant также показывает shortcuts из shortcuts.xml в виджете и в поиске. Статические shortcuts (объявлены в XML) и динамические (через ShortcutManager.pushDynamicShortcut()) — разные механизмы, могут дополнять App Actions.
Интеграция Google Assistant через App Actions с 2-3 BII, тестированием и публикацией в Actions Console: 3-5 дней. Стоимость рассчитывается индивидуально после анализа функционала приложения.







