Всем привет, меня зовут Денис. Я хотел бы рассказать о своем опыте разработки навыка для голосового помощника "Маруся".
«Маруся» — голосовой помощник, разработанный в компании Mail.ru Group. Запущен 17 июня 2019 года в тестовом режиме.
Пункт 1: ознакомление с API Маруси
Для начала необходимо ознакомиться с документацией по написанию навыков.
С полной схемой взаимодействия с Марусей можно ознакомиться в документации. Здесь я опишу основные моменты:
Фаза вызова скилла строится по следующей схеме:
Слово «Маруся» + любая из дефолтных фраз вызова скилла + фраза активации.
К дефолтным словам относятся: хочу, запусти, включи, открой + навык/скилл.
«Маруся, запусти навык шутка дня», «Маруся, включи скилл шутка дня».
Структура запроса
meta | информация об устройстве, с помощью которого пользователь общается с Марусей. |
request | данные, полученные от пользователя. |
session | данные о сессии. |
version | версия протокола, текущая версия — 1.0. |
Пункт 2: общение Маруси и сервера
Сервер и Маруся общаются посредством POST запросов. В данной статье не будет рассматриваться построение сервера, т.к. статей на данную тему предостаточно.
Я хотел бы рассмотреть как происходят вопросы и ответы между Марусей и клиентом.
А происходят они по следующей схеме:
1) Клиент запускает скилл.
2) Маруся отвечает фразой с сервера, соответствующей нажатой кнопке клиентом. Если это начало выполнения навыка Маруся отображает первую фразу.
3) Клиент нажимает на предложенный вариант (предложенных вариантов может быть несколько).
4) Переходим к пункту 2, пока клиент не захочет завершить сессию.
Чтобы завершить сессию, необходимо в ответе указать параметр end_session, выставленным в 1 (true). Пример:
Пункт 3: Тестирование приложения
Есть несколько вариантов тестирования приложения:
1) написав Марусе с личной страницы;
2) в отладчике скилов;
3) в приложении Маруси для Android или iOS