Оглавление:
- Запасы
- Шаг 1. Создайте учетную запись разработчика Amazon
- Шаг 2: Создайте новый навык
- Шаг 3: поприветствуйте пользователя
- Шаг 4. Проверьте приветствие
- Шаг 5. Добавьте намерения
- Шаг 6. Добавьте смешные слова
- Шаг 7. Добавьте обработчики намерений
- Шаг 8: Зарегистрируйте обработчики намерений
- Шаг 9: проверьте навыки
- Шаг 10. Настройте предварительный просмотр навыков и отправьте их на проверку
Видео: Как создать навык Alexa: 10 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Что такое навык Алексы?
Навыки Alexa похожи на приложения. Вы можете включать и отключать навыки, используя приложение Alexa или веб-браузер, точно так же, как вы устанавливаете и удаляете приложения на своем смартфоне или планшете. Навыки - это голосовые возможности Alexa. Вы можете добавить навыки Alexa к своему Echo, чтобы воплотить в жизнь продукты и услуги. Вы можете просмотреть доступные навыки и включить или отключить их с помощью приложения Alexa.
Из этого туториала Вы узнаете, как создать навык alexa.
Цель:
Цель состоит в том, чтобы создать навык, который каждый раз, когда спрашивает пользователя, говорит пользователю забавное немецкое слово.
Демо:
Чтобы увидеть, как навык должен работать потом, вы можете проверить его здесь:
www.amazon.com/gp/product/B07ZH9GL9N?ref&r…
Запасы
- Знания в программировании
- Основы Node.js и Javascript
Шаг 1. Создайте учетную запись разработчика Amazon
Если у вас нет учетной записи разработчика Amazon, вы можете зарегистрироваться здесь. В противном случае вы можете войти здесь.
Шаг 2: Создайте новый навык
- Перейдите по этой ссылке:
- Нажмите «Создать навык» справа. После этого откроется новая страница.
- Введите название своего навыка (в нашем случае: Смешные немецкие слова) в поле Название навыка.
- Установите язык в поле выбора языка по умолчанию на английский (США).
- Мы собираемся создать собственный навык, поэтому выбираем модель Custom.
- В разделе Выберите метод для размещения серверных ресурсов вашего навыка мы выбираем Alexa-Hosted (Node.js).
- После того, как вы закончите, нажмите на Создать навык.
- Откроется новое окно
Шаг 3: поприветствуйте пользователя
Первое, что пользователь делает с вашим умением, - открывает его. Намерение, открывающее навык, уже реализовано в примере кода, и его больше не нужно добавлять.
-
Откройте вкладку Код → Откроется окно кода с файлом index.js.
У каждого обработчика намерений есть две функции
- может справиться()
- ручка()
Функция canHandle () включает запрос, на который отвечает обработчик.
Функция handle () отправляет ответ пользователю.
Если навык получает запрос, вызывается функция canHandle () каждого обработчика намерений и проверяет, может ли он отправить ответ на этот запрос.
-
В функции handle () LaunchRequestHandler удалите весь код и затем вставьте следующее:
const speakOutput = 'Добро пожаловать в Веселые немецкие слова. Узнайте, какие забавные слова предлагает немецкий язык и что они означают. Хотите послушать забавное слово? ';
const repromptText = 'Вы хотите услышать забавное немецкое слово?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();
- Нажмите «Сохранить и развернуть».
Обработчик намерений помощи необходимо изменить в соответствии с навыком. Удалите код функции handle () и вставьте его:
const speakOutput = 'Узнайте, какие забавные слова предлагает немецкий язык и что они означают. Хотите послушать забавное слово? ';
const repromptText = 'Вы хотите услышать забавное немецкое слово?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();
После этого нажмите «Сохранить и развернуть».
Шаг 4. Проверьте приветствие
Каждый раз, когда у вас появляется больше функциональных возможностей для вашего навыка, проверьте, действительно ли оно работает, чтобы в случае ошибки выяснить, где может быть ошибка.
- Перейдите на вкладку «Тест» → откроется новое окно.
- Активируйте среду тестирования, выбрав «Разработка» в поле выбора.
- Напишите или произнесите: «противопоставить смешные немецкие слова» → Теперь навык должен ответить приветствием.
Шаг 5. Добавьте намерения
Теперь мы собираемся добавить возможности того, как пользователь может взаимодействовать с вашими навыками. Намерения позволяют правильно реагировать на особые фразы и впоследствии запускать обработчик коррета.
- Перейдите на вкладку «Сборка» → откроется окно «Сборка».
- Панель навигации справа показывает все активированные намерения. Прежде всего удалите HelloWorldIntent.
- После этого нажмите кнопку «Добавить» рядом с вкладкой намерений на панели навигации.
Прежде всего, мы добавляем некоторые встроенные намерения из встроенной библиотеки Alexa.
- Нажмите на Использовать существующее намерение из встроенной библиотеки Alexa.
- Найдите YesIntent и NoIntent и нажмите "Добавить" обоими.
Теперь мы добавляем собственное намерение.
- Нажмите на Создать индивидуальное намерение.
- Дайте намерению имя TellAFunnyWordIntent
- Нажмите на Создать индивидуальное намерение.
Теперь мы добавим несколько примеров фраз к нашему намерению. Примеры фраз - это фразы, которые пользователь может сказать. Просто введите эти образцы фраз:
- скажи мне слово
- скажи мне забавное немецкое слово
- слово
- забавное слово
- сказать мне слово
Конечно, пользователь может сказать гораздо больше фраз. Вы можете расширить намерение, если хотите, но в настоящее время мы сосредоточены на функциональности.
После добавления фраз нажмите «Сохранить модель», а затем - «Построить модель». После завершения сборки вернитесь на вкладку «Код».
Шаг 6. Добавьте смешные слова
Чтобы наш навык говорил забавные слова, сначала нужно несколько забавных слов.
Для этого создайте новый файл с именем words.json в папке лямбда.
Вставьте эти слова в файл words.json:
[{"слово": "Lebensabschnittpartner", "объяснение": "Это слово чаще всего описывается как еще один вариант для партнера или любовника, но с более преходящим поворотом". }, {"слово": "Unabhängigkeitserklärungen", "объяснение": "Это слово описывает декларацию независимости". }, {"слово": "Freundschaftsbezeugung", "объяснение": "Это демонстрация дружбы". }, {"слово": "Rechtsschutzversicherungsgesellschaften", "объяснение": "Книга рекордов Гиннеса признает это громоздкое слово самым длинным немецким словом в повседневном употреблении. Оно означает страховые компании, обеспечивающие юридическую защиту". }, {"слово": "Kaftfahrzeug-Haftpflichtversicherung", "объяснение": "Относится к страхованию ответственности автотранспортных средств". }, {"слово": "Donaudampfschiffahrtsgesellschaftskapitän", "объяснение": "Это слово продолжает тему транспорта и представляет собой четыре слова, аккуратно соединенные вместе, чтобы сказать капитан Дунайской пароходной компании". }]
Конечно, вы можете добавить больше слов, если знаете некоторые из них. Но для тестирования он уже должен работать.
Снова нажмите «Сохранить и развернуть».
Шаг 7. Добавьте обработчики намерений
Ранее созданным намерениям теперь нужен обработчик, который запускается намерением. NoIntentHandler закрывает навык. YesIntentHandler и TellAFunnyWordIntentHandler отвечают забавным словом и его объяснением.
Удалите весь HelloWorldIntentHandler из файла index.js и добавьте вместо него три новых:
const TellAFunnyWordIntentHandler = {
canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle (handlerInput) {const words = JSON.parse (fs.readFileSync ('./ words.json')); const word = words [Math.floor (Math.random () * words.length)]; const SpeakOutput = word.word + '. '+ word.explanation; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }}; const YesIntentHandler = {canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle (handlerInput) {const words = JSON.parse (fs.readFileSync ('./ words.json')); const word = words [Math.floor (Math.random () * words.length)]; const SpeakOutput = word.word + '. '+ word.explanation; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }}; const NoIntentHandler = {canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'AMAZON. NoIntent'; }, handle (handlerInput) {const speakOutput = 'Хорошо, может быть, в другой раз.'; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }};
Шаг 8: Зарегистрируйте обработчики намерений
Теперь нам нужно зарегистрировать новые обработчики намерений. Для этого прокрутите до конца файла index.js.
Замените это:
export.handler = Alexa. SkillBuilders.custom ()
.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // убедитесь, что IntentReflectorHandler стоит последним, чтобы он не переопределял ваши пользовательские обработчики intentError).
с этим:
export.handler = Alexa. SkillBuilders.custom ()
.addRequestHandlers (LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // убедитесь, что IntentReflectorHandler не перекрывает ваш обработчик ошибок IntentRefand (последний обработчик ошибок).
После этого снова нажмите «Сохранить и развернуть». После завершения развертывания снова проверьте навык.
Шаг 9: проверьте навыки
- Перейдите на вкладку Test → Откроется новое окно.
- Напишите или произнесите: «противопоставить смешные немецкие слова» → Теперь навык должен ответить приветствием.
- Напишите или произнесите: «Скажи мне забавное немецкое слово» → Теперь навык должен сказать одно из слов.
Если все работает, вы уже можете отправить свое умение.
Шаг 10. Настройте предварительный просмотр навыков и отправьте их на проверку
Заполните все необходимые текстовые поля своим личным описанием навыка.
В примере фраз напишите:
- Алекса, открой Веселые немецкие слова.
- Алекса, попроси Funny German Words сказать мне забавное слово.
После того, как вы заполнили все обязательные поля и загрузили значки, нажмите «Сохранить и продолжить».
Выберите правильные ответы в разделах «Конфиденциальность и соответствие» и «Доступность».
Пожалуйста, ознакомьтесь с контрольным списком отправки перед отправкой
Теперь вам нужно провести несколько тестов. Это может занять некоторое время.
После этого вы можете отправить свое умение на проверку. Пройдет 1-2 дня, прежде чем вы получите отзыв о своих навыках. Если вы все сделали правильно, ваше умение будет опубликовано сразу после проверки.
Если вы уже хотите опробовать навык, но он все еще проходит сертификацию, вы всегда можете использовать этот навык:
www.amazon.com/gp/product/B07ZH9GL9N?ref&ref=cm_sw_em_r_as_dp_uCOJljYBKfNx9
Рекомендуемые:
Как создать монитор растений с помощью Arduino: 7 шагов
Как создать монитор растений с помощью Arduino: в этом уроке мы узнаем, как определять влажность почвы с помощью датчика влажности и мигать зеленым светодиодом, если все в порядке, а также OLED-дисплей и Visuino. Посмотрите видео
Как создать микробитную игру: 7 шагов
Как создать игру Microbit: Hai pals, В этом уроке я научу вас, как создать игру в tinkercad, используя новый специальный компонент Microbit
Как создать недорогое устройство ЭКГ: 26 шагов
Как создать недорогое устройство ЭКГ: Всем привет! Меня зовут Мариано, я биомедицинский инженер. Я потратил несколько выходных, чтобы спроектировать и реализовать прототип недорогого устройства ЭКГ на базе платы Arduino, подключенного через Bluetooth к устройству Android (смартфон или планшет). Я мог бы
Как создать загрузочный диск Linux (и как его использовать): 10 шагов
Как создать загрузочный диск Linux (и как его использовать): это простое введение о том, как начать работу с Linux, в частности с Ubuntu
Навык Alexa: прочитать последний твит (в данном случае - Божий): 6 шагов
Навык Алекса: читать последний твит (в данном случае - Бог): я создал навык Алекса, чтобы читать «Последний твит Бога»; - контент, то есть из @TweetOfGod, учетной записи подписчика более 5 миллионов человек, созданной бывшим автором комедий Daily Show. Он использует IFTTT (If This Then That), электронную таблицу Google и