У меня есть навык в Alexa, Cortana и Google, и в каждом случае есть концепция прекращения потока после произнесения результата или сохранения микрофона открытым, чтобы продолжить поток. Умение в основном заключается в вызове Http API, который возвращает информацию для разговора, отображения и флажок, чтобы продолжить разговор или нет.
В Alexa флаг, возвращаемый из вызова API и передаваемый Alexa, называется shouldEndSession . В Google Assistant этот флаг имеет значение Ожидается_user_response .
. Поэтому в моей папке с кодом API вызывается из файла Javascript и возвращает объект JSON, содержащий три элемента: speech (текст для разговора - возможно, SSML); displayText (текст для отображения пользователю);и shouldEndSession (true или false).
Действие вызывает код JavaScript с типом Search и сегментом сбора. Затем он выводит объект JSON, упомянутый выше. Все это прекрасно работает, за исключением того, что я не знаю, как обрабатывать shouldEndSession. Возможно, это сделано в действии с сегментом проверки?
Например, «Привет, Биксби, спроси у ремонта автомобиля о замене шин», ответит с ответом и будет сделано. Но что-то вроде «Привет, Биксби, спроси в автосервисе о замене моего генератора» . В этом случае ответом может быть «Мне нужно знать, какая у вас модель автомобиля. Какая модель автомобиля?» . Затем пользователь скажет «Тойота» , а затем Биксби завершит диалог с ответом или, возможно, попросит дополнительную информацию.
Буду признателен за некоторые указатели.
Спасибо