это мой первый вопрос о переполнении стека, так что, если я что-то напутал, пожалуйста, дайте мне знать!
Я создаю действие Google, которое сможет воспроизводить подкасты, и я хочу воспроизвести заключительный аудиоклип по окончании подкаста.насколько я могу судить из документации (https://developers.google.com/actions/assistant/responses#media_responses), в конце воспроизведения аудио, устройство должно отправить запрос, содержащий намерение actions.intent.MEDIA_STATUS. Затем я хотел бы ответить на это завершающим аудио, но я никогда не получаю запрос.
Что касается того, что я настроил до сих пор: я использую диалоговое окно для настройки диалога, а затем отправляю запросы в AWS Lambda, где у меня настроен некоторый Java-код для отправки.назад подкаст URL. У меня есть эта часть медиа-ответа работает - он может воспроизводить, приостанавливать, пропускать и возвращаться. До сих пор, чтобы получить следующую звуковую дорожку, я сделал следующее:
- создать намерение в Dialogflow (я назвал это AudioCompleteIntent)
- Добавить actions_intent_MEDIA_STATUS в раздел «События» намерения (как показано в Обработка обратного вызова завершения воспроизведения звука в диалоговом потоке (ответы мультимедиа) )
- добавить фиктивную обучающую фразу. Не уверен, если это необходимо, но это был единственный способ получить AudioCompleteIntent для интеграции с действиями Google в разделе «Действия».Иначе не было бы.Я думал, что наличие намерения в разделе «Действия» было бы необходимо для устройства, чтобы отправить запрос, но, возможно, это только для инициированных пользователем намерений.
- При выполнении я выбрал «Включить вызов webhook».для этого намерения ", чтобы я мог отправить запрос в функцию AWS Lambda.Функция Lambda регистрирует все запросы в журналах
Я приложил скриншот своего намерения в Dialogflow.обучающие фразы по-прежнему не всегда синхронизируются с действиями, но кажется, что намерение, которое инициализирует беседу, работает независимо от того, отображается ли намерение диалогового потока в консоли действий Google Снимок экрана AudioCompleteIntent
ПроблемаЯ не вижу никаких запросов от устройства с намерением actions.intent.MEDIA_STATUS.После того, как подкаст завершит воспроизведение самостоятельно (не тогда, когда пользователь останавливает его), я ожидаю, что устройство отправит намерение actions.intent.MEDIA_STATUS в Dialogflow, а затем диалоговый поток обработает это, отправив AudioCompleteIntent функции лямбда-aws.Я не вижу ни своего запроса AudioCompleteIntent, ни какого-либо намерения actions.intent.MEDIA_STATUS ни в разделе «история» диалогового потока, ни в журналах aws.Оба диалоговых потока / AWS показывают записи разговора, который запускает подкаст, хотя в конце подкаста просто ничего.
Я проводил тестирование с помощью своего пиксельного (пиксель 1 с 2016 года) помощника телефона Google.По-видимому, в соответствии с действием Google MediaResponse, не работающим на некоторых устройствах была ошибка, когда некоторые устройства не отправляли запрос, но этому вопросу уже почти год, так что я думаю, что он был решен, и ячто-то напортачило на моем конце.У меня недостаточно репутации, чтобы комментировать этот пост и спрашивать о разрешении, поэтому я решил спросить о своей настройке