Как интегрировать действие OPEN_APP_FEATURE в приложение Android?
Я хочу иметь возможность запускать некоторые функции моего приложения для Android ("Пуск", "Стоп") с помощью голосовых команд из Google Assistant.
- Каковы следующие шаги, чтобы иметь возможность запустить эти функции из Google Assistant?
- Какие запросы на естественном языке поддерживаются этой функцией открытого приложения?
Я интегрировал actions.intent.OPEN_APP_FEATURE
в мое приложение и успешно протестировал его с помощью инструмента тестирования действий приложения в Android Studio.
мой actions.xml
:
<?xml version="1.0" encoding="utf-8"?>
<actions>
<action intentName="actions.intent.OPEN_APP_FEATURE">
<fulfillment urlTemplate="http://www.my-app.com/{?featureName}">
<parameter-mapping
intentParameter="feature"
urlParameter="featureName" />
</fulfillment>
<parameter name="feature">
<entity-set-reference entitySetId="FeatureEntitySet" />
</parameter>
</action>
<entity-set entitySetId="FeatureEntitySet">
<entity
name="@string/start_capture"
identifier="START" />
<entity
name="@string/stop_capture"
identifier="STOP" />
</entity-set>
</actions>
Когда я спрашивал у Google Assistant что-то вроде "Открыть старт из MyApp", я ожидал того же поведения, что и при тестировании с помощью инструмента тестирования действий приложения (откройте функцию приложения), но вместо этого Google Assistant предоставляет общие веб-результаты.
2 ответа
Оказывается, существует ошибка, препятствующая запуску функции " Открыть приложение" из Google Assistant.
Согласно документам для OPEN_APP_FEATURE:
Поддерживаемые объекты
Вы должны указать объекты для
feature
,
Поэтому вы должны попытаться предоставить значения, поддерживаемые вашим приложением для feature
параметр с использованием встроенного инвентаря. Это позволяет вам сказать Ассистенту, какие значения следует ожидать для этого параметра. Вот пример этого в примере приложения здесь.
В документах обязательно должны быть примеры запросов, чтобы лучше понять, как это проверить (посмотрим, сможем ли мы их обновить).
Я считаю, что то, что вы тестируете, должно работать - "Открыть [функцию] в MyApp". Если он не работает с помощью голоса, но работает с помощью Test Tool, то это может быть ошибкой. Единственное, что нужно проверить, это имя вызова, установленное в Test Tool, совпадает с тем, с чем вы тестируете ("MyApp" выше). В противном случае вы можете отправить сообщение об ошибке здесь.