Навык Alexa - как читать набор результатов строка за строкой - PullRequest
0 голосов
/ 10 октября 2018

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

Как мне этого добиться?

Спасибо!Anshuman

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете использовать sessionAttributes для чтения строка за строкой.Когда ваш бэкэнд получит начальный запрос, запросите внешнюю службу и ответьте с первой строкой и сохраните массив строк в sessionAttributes.Вы также можете установить атрибут STATE, чтобы вы могли проверить этот state в AMAZON.YesIntent или других обработчиках подтверждения, прежде чем задавать следующую строку.Этот атрибут STATE поможет вам проверить, действительно ли подтверждение для чтения следующей строки.

Пример:

"sessionAttributes": {
    "row": ["This is the first row","This is the second row", ..  ],
    "index": 1,
    "STATE": "READING_ROWS"
  }

Поскольку вы хотите, чтобы пользователи подтвердили перед прочтением второй строки,Вы должны добавить некоторое подтверждающее сообщение также с ответом.

Пример: «Это первая строка. Хотите услышать больше?»

Используйте AMAZON.YesIntent и AMAZON.NoIntent

Когда пользователь скажет «следующий» , проверьте, является ли state READING_ROWS и на основе index укажите следующий элемент из вашего списка.И в sessionAttributes увеличьте index.

Аналогично, для AMAZON.NoIntent обеспечьте правильный ответ, когда пользователи откажутся.

Подробнее о параметрах сессии и параметрах ответа здесь

...