Алекса, как реализовать подтверждение намерения? - PullRequest
0 голосов
/ 29 июня 2018

У меня проблемы с выполнением подтверждения намерения. Документация действительно расплывчатая. В настоящее время я использую фреймворк jovo для написания своего кода с помощью nodeJ, что сэкономило мне массу времени Это пример того, как я хочу подтвердить запрос пользователя:
Пользователь: Alexa, play NRJ radio
Алекса: Хочешь, чтобы я играл на радио NRJ?
Пользователь: Да
Alexa: Я буду играть на радио NRJ
Алекса играет радио NRJ
Я включил подтверждение намерений в консоли Alexa, и я подумал, что этого достаточно. Но это не так. И мне нужно знать, что именно делать, чтобы сделать эту работу. Спасибо.
Я прочитал документацию несколько раз, и я не мог понять, как мне использовать dialog.delegate для достижения своей цели и нужно ли мне каким-либо образом изменять файл JSON в консоли.
Это действительно сбивает с толку, поэтому всякая помощь приветствуется. Спасибо:)

1 Ответ

0 голосов
/ 29 июня 2018

Мы обычно рекомендуем использовать состояния для таких вещей. Например, вы можете добавить состояние 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)

});

Для получения дополнительной информации ознакомьтесь со следующими ресурсами:

...