У меня возникли проблемы с реализацией подтверждения намерения. Документация действительно расплывчата. В настоящее время я использую инфраструктуру jovo для написания своего кода с помощью nodeJs, что сэкономило мне массу времени. Это пример того, как я хочу подтвердить запрос пользователя:
Пользователь: Алекса, включи радио NRJ
Алекса: Включи радио NRJ?
Пользователь: Да
Алекса: Я будет воспроизводить радио NRJ
Alexa воспроизводит радио NRJ
Я включил подтверждение намерений в консоли Alexa и подумал, что этого достаточно. Но это не так. И мне нужно знать, что именно нужно сделать, чтобы это сработало. Спасибо.
Я несколько раз читал документацию и не мог понять, как мне использовать dialog.delegate для достижения моей цели и нужно ли мне так или иначе изменять файл JSON в консоли.
Это действительно сбивает с толку, поэтому любая помощь приветствуется. Спасибо :)
Alexa, как реализовать подтверждение намерений?
Ответы (1)
Обычно мы рекомендуем использовать состояния для подобных вещей. Например, вы можете добавить состояние PlayConfirmationState
к своему вопросу с помощью followUpState
, а затем в этом состоянии слушать AMAZON.YesIntent
.
Вот как это может выглядеть в вашем app.js
:
app.setHandler({
'LAUNCH': function() {
this.followUpState('PlayConfirmationState').
.ask('Do you want me to play NRJ radio?');
},
'PlayConfirmationState': {
'AMAZON.YesIntent': function() {
this.alexaSkill().audioPlayer().play('url', 'token')
.tell('I will play NRJ radio');
},
// Other intents in the state
},
// Other intents outside the state (stateless)
});
Для получения дополнительной информации ознакомьтесь со следующими ресурсами:
- Курс приключенческой игры Jovo Шаг 5. Знакомство с состояниями
- Документы Jovo: Маршрутизация
person
Jan König
schedule
29.06.2018
Спасибо @AhmedGhrib. Не могли бы вы сделать этот ответ общепринятым, чтобы другие увидели, что он тоже работает?
- person Jan König; 03.07.2018