Простое высказывание после запуска запроса Amazon Alexa - PullRequest
0 голосов
/ 29 августа 2018

Я только что вошел в Alexa и сделал классический навык "Космический факт". Однако я не нашел никаких ресурсов о том, как добавить высказывания после запроса на запуск.

Пример того, что я хочу сделать: Я: Alexa открытое пространство Факты Алекса: Сатурн большой Я: следующий

Я думал, что команда "следующий" должна быть высказыванием. Я думал об использовании слотов или о намерениях, но не думаю, что это сработает, правда?

Чего я хочу добиться, так это того, чтобы после одного пробела пользователь мог просто сказать «следующий» или «еще один», чтобы снова вызвать мою функцию.

Я что-то пропустил, это не задокументировано или это невозможно?

1 Ответ

0 голосов
/ 30 августа 2018

Навык Space Fact имеет множество фактов. Поэтому все, что вам нужно сделать, это выбрать один из массива, когда пользователь говорит «Далее» или «Еще один».

Использовать AMAZON.NextIntent
Чтобы захватить высказывание пользователя "Next" , используйте предопределенный AMAZON.NextIntent в вашей модели взаимодействия. Поэтому, когда пользователи говорят «Далее» , это намерение будет отображено. Также добавьте "еще один" в качестве дополнительного высказывания для этого намерения.

Теперь в своем бэкэнд-коде добавьте обработчик AMAZON.NextIntent и для его ответа получите еще один факт из массива фактов. (Добавьте некоторую логику, чтобы навык не возвращал случайно тот же факт снова. Вы можете использовать sessionAttributes для отслеживания прочитанных индексов фактов)

Примечание: Для того, чтобы Alexa ожидала ввода пользователя после того, как он сообщит о первом факте, вам нужно сохранить сеанс в живых. Насколько я помню, скилл заканчивает сессию после того, как говорит первый факт.

Сеанс поддерживается активным на основе параметра shouldEndSession в ответе. Для любого запроса, если он не предоставлен, shouldEndSession по умолчанию true. В вашем случае для ответа на LaunchRequest этот параметр shouldEndSession должен иметь значение false. Только когда сеанс остается открытым, и пользователи могут сказать «следующий» .

Прочитайте этот ответ , чтобы узнать больше о том, как сохранить сеанс с помощью ask-nodejs-sdk.

...