Могу ли я получить спичлет Alexa только с одним на мероприятии?

Я новичок в Alexa SDK. У меня есть готовый речевой бюллетень HelloWorld. Я думаю, что понимаю разницу между onLaunch (когда сеанс равен нулю) и onIntent (когда он не равен нулю)

Но что, если я хочу чего-то еще попроще? Я просто хочу сопоставить одно высказывание с ответом. Необходимо реализовать оба метода.

Правильно ли просто возвращать пустой речевой ответ? Если да, то он должен быть onLaunch или onIntent? Что я неправильно понимаю?


person mmaceachran    schedule 25.10.2016    source источник
comment
какой язык вы используете? Можете ли вы предоставить более подробную информацию о том, что интересует sdk (язык).   -  person punkdata    schedule 25.10.2016
comment
Извините, я использую Java SDK с набором навыков 1.1.2.   -  person mmaceachran    schedule 25.10.2016


Ответы (1)


Обычно намерение onLaunch относится к началу вашего навыка Alexa, который должен соответствовать ответу приложения "Приветствие" или "Запуск". Итак, если вы выполняете намерение onLaunch, вы отвечаете приветственным сообщением и некоторыми инструкциями по использованию Alex Skill. onLaunch срабатывает только тогда, когда пользователь произносит инструкцию для открытия приложения, например:

Алекса открытый привет мир

Это ответ по умолчанию при инициализации навыка.

onIntent будет срабатывать для всех целей, не связанных с onLaunch. Сопоставления операторов Intents & Utterance являются ключевыми здесь. Все, что слышно от Alexa, затем обрабатывается и сравнивается с высказываниями, определенными в разделе ваших высказываний на портале разработчиков приложений. Например:

Примеры высказываний

HelloWorldIntent say hello
HelloWorldIntent say hello world
HelloWorldIntent hello

Когда пользователь произносит что-то вроде:

Алекса открой helloworld и поздоровайся

Навык инициализирует и обнаруживает фразу say hello, а затем сопоставляет ее с HelloWorldIntent, который запускает onIntent () и обрабатывает намерение, переданное в почтовом запросе. OnIntent () обработает намерение и вернет ответную речь.

person punkdata    schedule 25.10.2016
comment
Вы говорите, что если я выполню намерение onLaunch - как мне этого не сделать и просто запустить метод onIntent? - person mmaceachran; 25.10.2016
comment
mmaceachran Я обновил свой ответ, включив в него более подробную информацию, надеюсь, это поможет - person punkdata; 25.10.2016
comment
Я начинаю это понимать. Но я не думаю, что ваше утверждение в первом абзаце правильное. Потому что, когда я говорю "привет", Алекса запускает И onLaunch, и onIntent. Кажется, я могу обойти эту бу, возвращая SpeechletResponse со строкой нулевой длины, но мне это не кажется правильным. Я хочу иметь возможность просто сопоставить Inetent с методом onIntent и перейти оттуда. - person mmaceachran; 25.10.2016
comment
может быть, вы можете опубликовать код, чтобы мы могли его посмотреть. В основном я использую SDK для Python. Поведение, которое вы описываете, звучит неправильно. - person punkdata; 25.10.2016
comment
У меня такое чувство, что это может быть проблема с вашей фразой вызова на портале разработчика. Я бы рекомендовал прочитать этот документ и убедиться, что вы понимаете навигацию. Голосовой интерфейс явно отличается, и его трудно понять вначале developer.amazon.com/public/solutions/alexa/alexa-skills-kit/ - person punkdata; 25.10.2016
comment
И это совершенно правильно. Я пытался переопределить базовое программирование Alexa, и у меня не очень хорошо получалось. :) Как только я понял, как работают и используются кастомные навыки, я стал намного лучше. Спасибо вам всем. - person mmaceachran; 26.10.2016
comment
Рад слышать! Первоначально голосовая навигация занимает минимум минуты, но как только лампочка выключается, становится намного веселее ... удачи! - person punkdata; 26.10.2016