Предусмотрите обработку ситуаций, когда смартап не понимает запрос пользователя, т.к. запрос относится к другому смартапу.
Например, если пользователь сделает голосовой запрос «ТВ-каналы», находясь внутри другого смартапа, то ассистент не поймет, что пользователь хочет включить именно ТВ-каналы. В этому случае обрабатывать реплику пользователя будет ваш сценарий.
Чтобы подобные голосовые запросы обрабатывались не сценарием вашего смартапа, а самим ассистентом, нужно отправить ассистенту сообщение с типом NOTHING_FOUND. В этом случае ассистент сможет открыть другое приложение по запросу пользователя.
$response.replies = $response.replies || [];
$response.replies.push({
type: 'raw',
messageName: 'NOTHING_FOUND',
body: {},
});
Подробнее о синтаксисе NOTHING_FOUND.
Обработка отдельных запросов
Если запрос пользователя был обработан вне сценария, то будущие запросы так же будут обрабатываться ассистентом. Для возврата в контекст сценария, смартап нужно перезапустить.
Чтобы конкретный запрос пользователя обрабатывался вне сценария смартапа, в Code нужно добавить новый стейт:
state: StateName
q!: ТВ каналы
script:
$response.replies = $response.replies || [];
$response.replies.push({
type: 'raw',
messageName: 'NOTHING_FOUND',
body: {},
});
В этом случае запрос "ТВ каналы" будет обрабатываться ассистентом, а не сценарием смартапа, в следствии чего откроется просмотр ТВ-каналов. Вместо фразы "ТВ каналы" вы можете задать собственную фразу и добавить любое количество голосовых команд, которые будут обрабатываться вне сценария смартапа.
Обработка всех незнакомых запросов
Если запрос пользователя был обработан вн е сценария, то будущие запросы так же будут обрабатываться ассистентом. Для возврата в контекст сценария, смартап нужно перезапустить.
Чтобы все незнакомые запросы обрабатывались вне сценария смартапа, в Code нужно добавить новый стейт:
state: noMatch
event!: noMatch
script:
$response.replies = $response.replies || [];
$response.replies.push({
type: 'raw',
messageName: 'NOTHING_FOUND',
body: {},
});
В этом случае любой незнакомый запрос будет обрабатываться ассистентом, а не сценарием смартапа.