Я думаю, что это будет полезно для тех, кто ищет ответ.
По сути, в примере высказывания не следует включать фразы для повторных подсказок;т.е. в моем случае я не должен добавлять «да» в качестве высказывания.Вместо этого я должен использовать Amazon.YesIntent
.
При использовании Amazon.YesIntent
вы должны поддерживать конечный автомат в вашем SessionAttributes
, указывая на последнее вызванное намерение.Например, если два или более ваших намерений имеют возможный случай, когда пользовательский ответ может вызвать YesIntent
, вы должны сохранить имя последнего вызванного намерения и связанные данные сеанса в SessionAttributes
.Таким образом, в функции, которая обрабатывает YesIntent
, вы должны проверить состояние ваших предыдущих вызовов и делегировать управление соответствующему обработчику намерений.
В моем случае я буду хранить ранее вызванное имя намерения в качестве ключа и егосвязанные данные как их значение в session.attributes
;
"session": {
"new":"false",
"sessionId": "sessionId",
"application": {
"applicationId": "applicationId"
},
"attributes": {
"PreviousIntent": {
"PreviousIntentData"
}
}
В функции, которая обрабатывает YesIntent
, проверьте предыдущее состояние (session.attributes.PreviousIntent
) и делегируйте элемент управления функции, которая обрабатывает этонамерение.