Мое намерение Алекса выглядит следующим образом: я хочу {itemQuantity} {itemName}.
Теперь, если пользователи скажут: «Я хочу два карандаша», я получу itemQuantity = 2 и itemName = карандаш
Теперь, если пользователи говорят: «Я хочу карандаш», мой навык предположительно по умолчанию принимает itemQuantity равным 1 (эту обработку мы добавили в лямбду) и itemName = карандаш
Теперь проблема, возникающая при сеансе диалога. Диалог выглядит так:следующий
пользователь - «Я хочу два карандаша»
Alexa - ваш запрос записан на 2 карандаша, что-нибудь еще, что вы хотите заказать?
пользователь - «Я хочу ластик»"
Alexa - ваш запрос записан на 2 номера, что-нибудь еще, что вы хотите заказать?
Итак, вы увидели, что для ластика потребовалось два счета, потому что пользователь не передал значение слота для itemQuantity ион сохранился последним в модели взаимодействия. Мы даже не можем обработать его в лямбда-реализации, потому что там мы не можем определить это значение 2, полученное в результате предыдущего взаимодействия илисамый последний.
Итак, мое требование - после одного высказывания я хочу очистить / сбросить значение itemQuantity. Я не хочу сохранять его.
Я обнаружил, что с помощью javascript возможно следующее удаление.Ищете некоторые предложения с языком Java.
Как программно очистить значение пользовательского слота в Alexa?