Активация и деактивация навыка

Разговор с навыком может начать только сам пользователь, сам навык может только отвечать на запросы. Чтобы начать разговор, пользователь должен сказать Алисе активационную фразу («вызови/запусти <активационное имя навыка>»).

Чтобы вернуться к разговору с Алисой или открыть другой навык, включенный навык должен быть деактивирован — это может сделать как пользователь, так и сам навык.

  1. Активация навыка
  2. Команда в активационной фразе
  3. Деактивация навыка

Активация навыка

Алиса запускает навык, если из слов пользователя понятно, что он хочет запустить навык. Поэтому теоретически навык может запускаться любыми синонимами слов «запусти», «вызови», «включи» и тому подобными. На деле Алисе бывает сложно отличить активационную фразу навыка от встроенных команд. Например, по запросу включи группу крови может включиться песня с похожим названием.

Поэтому в бета-версии Диалогов для активации рекомендуется использовать только слова «запусти», «вызови», и «давай поиграем» (для игровых навыков).

Чтобы явно запросить активацию навыка, используйте слово «навык»: запусти навык группа крови или вызови навык группа крови.

Команда в активационной фразе

Пользователь может передать первую команду сразу при активации навыка, например, давай поиграем в города, Архангельск.

В протоколе взаимодействия для этого случая предусмотрено свойство request.command. При активации навыка в это свойство попадает весь текст, кроме активационной фразы. Если пользователь просто скажет давай поиграем в города, свойство request.command в запросе будет пустым.

Деактивация навыка

Пользователь возвращается к обычному разговору с Алисой, если:

  • Навык возвращает пользователя Алисе, когда разговор подошел к логическому концу: для этого в ответе Яндекс.Диалогам нужно вернуть флаг "end_session": true.

  • Навык присылает ответ, не соответствующий формату, или не укладывается в 1,5 секунды, отведенные для ответа.
  • Пользователь произносит фразу «Алиса, вернись.» или нажимает кнопку Закончить ❌.