Голосовое управление позволяет водителю выполнять задачи, не отрывая рук от руля и глаз от дороги. С помощью App Actions для автомобильных приложений водители могут использовать Google Assistant для управления приложениями Android в своей информационно-развлекательной системе, говоря что-то вроде: «Окей, Google, найди уличную парковку в exampleApp» .
Действия приложений работают с автомобильными приложениями , представляющими достопримечательности (POI) . В этом руководстве описаны конкретные требования и ограничения для интеграции действий приложения в ваше приложение POI.
Как это работает
 Действия приложения расширяют функциональность приложения до Ассистента, позволяя пользователям получать доступ к функциям приложения с помощью голоса. Когда пользователь вызывает действие приложения, Ассистент сопоставляет запрос со встроенным намерением ( BII ), объявленным в ресурсе shortcuts.xml вашего приложения, и запускает ваше приложение на запрошенном экране.
 Вы заявляете о поддержке BII в своем приложении, используя элементы capability Android. Когда вы загружаете свое приложение с помощью консоли Google Play, Google регистрирует возможности, заявленные в вашем приложении, и делает их доступными для пользователей из Ассистента. 

- Пользователь запускает Ассистента и делает голосовой запрос для определенного приложения.
- Ассистент сопоставляет запрос с предварительно обученной моделью (BII) и извлекает все параметры, поддерживаемые BII.
-  В этом примере Ассистент сопоставляет запрос с GET_CHARGING_STATIONBII, извлекает параметр местоположения «SFO» и преобразует местоположение в его географические координаты.
- Приложение запускается через определение выполнения для этого BII.
- Приложение обрабатывает выполнение заказов, отображая варианты зарядных станций в информационно-развлекательной системе водителя.
Ограничения
Реализации App Actions в автомобиле имеют следующие ограничения:
- Действия в автомобильном приложении должны выполняться с использованием глубоких ссылок Android. Информацию о выполнении действий приложения см. в разделе Предоставление сведений о выполнении для встроенных намерений . 
- Реализации автомобилей поддерживают только следующие BII: -  Парковка – GET_PARKING_FACILITY
-  Зарядка – GET_CHARGING_STATION
 
-  Парковка – 
Требования
Выполните следующие шаги, чтобы подготовить автомобильное приложение к действиям приложения:
- Выполните общие требования к приложениям Android для действий в приложении.
- Включите зависимость библиотеки автомобильных приложений. Подробности см. в разделе «Объявление зависимостей» .
Определите свое намерение и его реализацию
Первый шаг к голосовому включению автомобильного приложения с помощью действий приложения — определить, какие голосовые команды или намерения пользователя поддерживает ваше приложение. Затем вы определяете выполнение для каждого намерения, чтобы указать, как ваше приложение должно удовлетворять запрос.
- Какие цели поддерживает ваше автомобильное приложение? - Действия приложения предоставляют предварительно обученные голосовые модели, называемые встроенными намерениями (BII), которые могут понимать и интерпретировать голосовые команды пользователя, когда он говорит «Окей, Google» . Чтобы ответить на голосовые запросы, вы просто указываете Ассистенту BII, которые поддерживает ваше приложение. Например, если вы хотите, чтобы ваше приложение помогало найти парковку, вы реализуете - GET_PARKING_FACILITYBII. Или внедрите- GET_CHARGING_STATIONBII, чтобы помочь пользователям находить станции зарядки электромобилей.
- Как ваше приложение должно выполнять каждое намерение? - Ваше приложение выполняет голосовой запрос, открываясь на соответствующем экране. Действия приложения обеспечивают выполнение с помощью параметров, извлеченных из запроса пользователя, что позволяет адаптировать ответ к потребностям пользователя. 
Интегрируйте действия приложения
Определив стратегию выполнения, выполните следующие действия, чтобы включить голосовое приложение для автомобиля:
- Откройте свой основной файл - AndroidManifest.xmlи объявите поддержку ярлыков Android. Вы используете элементы ярлыка- capability, чтобы объявить Ассистенту BII, которые поддерживает ваше приложение. Дополнительные сведения см. в разделе Добавление возможностей .- <!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
- Затем добавьте элемент - <intent-filter>в- AndroidManifest.xml. Это позволяет Ассистенту использовать глубокие ссылки для подключения к содержимому вашего приложения.- Для выполнения Android Auto - <intent-filter>аналогичен вашему мобильному приложению.
- Для автомобильной ОС Android сеанс - CarAppServiceвашего приложения запускает Ассистента. Чтобы разрешить сеансу активировать вашу глубокую ссылку, укажите- <intent-filter>в элементе- <activity>файла- AndroidManifest.xml.
 - <!-- AndroidManifest.xml --> <activity ... android:name="androidx.car.app.activity.CarAppActivity"> ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="YOUR_SCHEME" android:host="YOUR_HOST" /> </intent-filter> </activity>
- Если у вас еще нет файла - shortcuts.xmlв каталоге- res/xmlвашего приложения, создайте новый. Сведения о том, как действия приложений используют ярлыки Android, см. в разделе Создание ярлыков.xml .- В - shortcuts.xmlреализуйте- capabilityдля выбранного вами BII. Затем добавьте вложенный- <intent>, чтобы определить выполнение приложения.- <!-- shortcuts.xml --> <?xml version="1.0" encoding="utf-8"?> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.GET_PARKING_FACILITY"> <intent> <url-template android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}"> <!-- Facility name, e.g. "Googleplex" --> <parameter android:name="parkingFacility.name" android:key="name"/> <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" --> <parameter android:name="parkingFacility.address" android:key="address"/> <!-- Disambiguate the type of service, e.g. "valet" --> <parameter android:name="parkingFacility.disambiguatingDescription" android:key="disambiguatingDescription"/> <!-- Latitude, e.g. "37.3861" --> <parameter android:name="parkingFacility.geo.latitude" android:key="latitude"/> <!-- Longitude, e.g. "-122.084" --> <parameter android:name="parkingFacility.geo.longitude" android:key="longitude"/> </intent> </capability> </shortcuts>
- Наконец, обновите логику - Session()вашего автомобильного приложения, чтобы обрабатывать входящие действия приложения. В следующих примерах демонстрируется обработка намерений для- Session.onCreateScreen()и- Session.onNewIntent().- onCreateScreen() - Котлин- @Override fun onCreateScreen(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } } - Ява- @Override public Screen onCreateScreen(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } } - onNewIntent() - Котлин- @Override fun onNewIntent(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } } - Ява- @Override public void onNewIntent(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } } - Предварительный просмотр, тестирование и публикация вашего приложения- Действия приложения предоставляют инструменты для предварительного просмотра и тестирования вашего приложения. Посетите обзор действий приложения , чтобы получить информацию об этом инструменте, а также узнать, как опубликовать автомобильное приложение с голосовой поддержкой в Play Store. 
 - Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц. - Последнее обновление: 2025-10-27 UTC. [[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-10-27 UTC."],[],[]]
