Tabla de contenido:

Cómo crear una habilidad de Alexa: 10 pasos
Cómo crear una habilidad de Alexa: 10 pasos

Video: Cómo crear una habilidad de Alexa: 10 pasos

Video: Cómo crear una habilidad de Alexa: 10 pasos
Video: Cómo usar las Skills de Alexa 2024, Mes de julio
Anonim
Cómo crear una habilidad de Alexa
Cómo crear una habilidad de Alexa

¿Qué es una habilidad de alexa?

Las habilidades de Alexa son como aplicaciones. Puede habilitar y deshabilitar habilidades, utilizando la aplicación Alexa o un navegador web, de la misma manera que instala y desinstala aplicaciones en su teléfono inteligente o tableta. Las habilidades son capacidades de Alexa impulsadas por voz. Puede agregar habilidades de Alexa a su Echo para dar vida a los productos y servicios. Puede ver las habilidades disponibles y habilitarlas o deshabilitarlas usando su aplicación Alexa.

Este tutorial le muestra cómo crear una habilidad de alexa.

Objetivo:

El objetivo es crear una habilidad que le diga al usuario una palabra divertida en alemán cada vez que pregunte el usuario.

Manifestación:

Para ver cómo debería funcionar la habilidad después, puedes probarla aquí:

www.amazon.com/gp/product/B07ZH9GL9N?ref&r…

Suministros

  • Conocimiento en programación
  • Conceptos básicos de Node.js y Javascript

Paso 1: crea una cuenta de desarrollador de Amazon

Crear una cuenta de desarrollador de Amazon
Crear una cuenta de desarrollador de Amazon

Siempre que no tenga una cuenta de desarrollador de Amazon, puede registrarse aquí. De lo contrario, puede iniciar sesión aquí.

Paso 2: crea una nueva habilidad

Crea una nueva habilidad
Crea una nueva habilidad
Crea una nueva habilidad
Crea una nueva habilidad
  1. Siga este enlace:
  2. Haga clic en Crear habilidad en el lado derecho. Posteriormente se abre una nueva página.
  3. Ingrese el nombre de su habilidad (en nuestro caso: Funny German Words) en el campo Nombre de la habilidad.
  4. Establezca el idioma en el cuadro de selección de idioma predeterminado en inglés (EE. UU.)
  5. Vamos a crear una habilidad personalizada, así que elegimos el modelo personalizado.
  6. En Elija un método para alojar los recursos de backend de su habilidad, elegimos Alojado por Alexa (Node.js)
  7. Una vez que haya terminado, haga clic en Crear habilidad
  8. Se abre una nueva ventana

Paso 3: salude al usuario

Saludar al usuario
Saludar al usuario

Lo primero que hace un usuario con su habilidad es abrirlo. La intención, que abre la habilidad, ya está implementada en el código de muestra y ya no es necesario agregarla.

  1. Abra la pestaña Código → Se abre la ventana de código con el archivo index.js

    Cada controlador de intenciones tiene dos funciones

    • puede manejar()
    • resolver()

    La función canHandle () incluye la solicitud a la que responde el controlador.

    La función handle () envía una respuesta al usuario.

    Si una habilidad recibe una solicitud, se llama a la función canHandle () de cada controlador de intenciones y verifica si puede enviar una respuesta a esa solicitud.

  2. En la función handle () de LaunchRequestHandler, elimine todo el código y luego pegue lo siguiente:

    const speakOutput = 'Bienvenido a Funny German Words. Descubra qué palabras divertidas tiene para ofrecer el idioma alemán y qué significan. ¿Quieres escuchar una palabra divertida? ';

    const repromptText = '¿Quieres escuchar una palabra divertida en alemán?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

  3. Haga clic en Guardar e implementar.

El controlador de intención de ayuda debe cambiarse para que coincida con la habilidad. Elimina el código de la función handle () e inserta esto:

const speakOutput = 'Descubra qué palabras divertidas tiene para ofrecer el idioma alemán y qué significan. ¿Quieres escuchar una palabra divertida? ';

const repromptText = '¿Quieres escuchar una palabra divertida en alemán?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

Después de terminar, haga clic en Guardar e implementar.

Paso 4: prueba el saludo

Prueba el saludo
Prueba el saludo
Prueba el saludo
Prueba el saludo

Cada vez que tenga más funcionalidad para su habilidad, pruebe si realmente funciona, para averiguar en caso de un error, dónde podría estar el error.

  1. Haga clic en la pestaña Prueba → Se abre una nueva ventana.
  2. Active el entorno de prueba seleccionando Desarrollo en el cuadro de selección.
  3. Escribe o habla: "abre palabras divertidas en alemán" → La habilidad ahora debería responder con el saludo.

Paso 5: agregar intenciones

Agregar intenciones
Agregar intenciones
Agregar intenciones
Agregar intenciones
Agregar intenciones
Agregar intenciones

Ahora vamos a agregar oportunidades de cómo un usuario puede interactuar con su habilidad. Las intenciones hacen posible reaccionar correctamente después de frases especiales y activar el manejador de corret después.

  1. Haga clic en la pestaña Generar → Se abre la ventana Generar.
  2. La barra de navegación de la derecha muestra todas las intenciones activadas. En primer lugar, elimine HelloWorldIntent.
  3. Luego, haga clic en el botón Agregar junto a la pestaña de intenciones en la barra de navegación.

En primer lugar, agregamos algunas intenciones integradas de la biblioteca integrada de Alexa

  1. Haga clic en Usar una intención existente de la biblioteca incorporada de Alexa
  2. Busque YesIntent y NoIntent y haga clic en agregar por ambos.

Ahora agregamos nuestra propia intención personalizada.

  1. Haga clic en Crear intención personalizada
  2. Dar el nombre TellAFunnyWordIntent a la intención
  3. Haga clic en Crear intención personalizada

Ahora agregaremos algunas frases de muestra a nuestra intención. Las frases de muestra son frases que el usuario podría decir. Simplemente ingrese esas frases de muestra:

  • dime una palabra
  • dime una palabra divertida en alemán
  • una palabra
  • una palabra graciosa
  • para decirme una palabra

Por supuesto, hay muchas más frases que el usuario podría decir. Puede extender la intención si lo desea, pero actualmente nos estamos enfocando en la funcionalidad.

Después de agregar las frases, haga clic en Guardar modelo y luego en Construir modelo. Una vez finalizada la compilación, vuelva a la pestaña Código.

Paso 6: agregue palabras divertidas

Para que nuestra habilidad diga palabras divertidas, primero necesita algunas palabras divertidas.

Para eso, cree un nuevo archivo llamado words.json en la carpeta lambda.

Inserte esas palabras en el archivo words.json:

[{"word": "Lebensabschnittpartner", "explicación": "Esta palabra se describe más como otra opción para pareja o amante, pero con un giro más pasajero". }, {"palabra": "Unabhängigkeitserklärungen", "explicación": "Esta palabra describe la declaración de independencia". }, {"palabra": "Freundschaftsbezeugung", "explicación": "Es la demostración de amistad". }, {"palabra": "Rechtsschutzversicherungsgesellschaften", "explicación": "El Libro Guinness de los Récords Mundiales reconoce esta engorrosa palabra como la palabra alemana más larga en el uso diario. Significa compañías de seguros que brindan protección legal". }, {"palabra": "Kaftfahrzeug-Haftpflichtversicherung", "explicación": "Se refiere a un seguro de responsabilidad civil de vehículos de motor". }, {"palabra": "Donaudampfschiffahrtsgesellschaftskapitän", "explicación": "Esta palabra continúa el tema del transporte, y son cuatro palabras cuidadosamente ensambladas para decir capitán de la compañía de vapor del Danubio". }]

Por supuesto, puede agregar más palabras si conoce algunas. Pero para probarlo, ya debería funcionar.

Haga clic en Guardar e implementar nuevamente.

Paso 7: agregar controladores de intención

Las intenciones creadas anteriormente ahora necesitan un controlador, que se activa mediante una intención. NoIntentHandler cierra la habilidad. YesIntentHandler y TellAFunnyWordIntentHandler responden con una palabra divertida y su explicación.

Elimine todo HelloWorldIntentHandler del archivo index.js y agregue tres nuevos en su lugar:

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 palabra = palabras [Math.floor (Math.random () * words.length)]; const speakOutput = palabra.palabra + '. '+ palabra.explicación; 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 palabras = JSON.parse (fs.readFileSync ('./ words.json')); const palabra = palabras [Math.floor (Math.random () * words.length)]; const speakOutput = palabra.palabra + '. '+ palabra.explicación; 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 = 'Bueno, tal vez en otro momento.'; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }};

Paso 8: registrar los controladores de intenciones

Ahora necesitamos registrar los nuevos controladores de intenciones. Para eso, desplácese hasta el final del archivo index.js.

Reemplazar esto:

ports.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // asegúrese de que IntentReflectorHandler sea el último para que no anule sus controladores de intenciones personalizados,.

con ese:

ports.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // asegúrese de que su controlador de intenciones no sea el controlador de error personalizado).

Luego haga clic en Guardar e implementar nuevamente. Una vez finalizada la implementación, vuelva a probar la habilidad.

Paso 9: prueba la habilidad

  1. Haga clic en la pestaña Prueba → Se abre una nueva ventana.
  2. Escribe o habla: "abre palabras divertidas en alemán" → La habilidad ahora debería responder con el saludo.
  3. Escribe o habla: "dime una palabra divertida en alemán" → La habilidad ahora debería decir una de las palabras.

Si todo funciona, ya puede enviar su habilidad.

Paso 10: Configure la vista previa de la habilidad y envíela para revisión

Establecer vista previa de habilidades y enviar para revisión
Establecer vista previa de habilidades y enviar para revisión

Complete todos los cuadros de texto requeridos con su descripción personal de la habilidad.

En Frases de ejemplo, escriba:

  • Alexa, abre Palabras divertidas en alemán.
  • Alexa, pídale a Funny German Words que me diga una palabra divertida.

Después de completar todos los campos obligatorios y después de haber cargado los íconos, haga clic en Guardar y continuar.

Elija las respuestas correctas en Privacidad y cumplimiento y en Disponibilidad.

¡Eche un vistazo a la lista de verificación de envío antes de enviarlo

Ahora necesitas realizar algunas pruebas. Esto puede tomar un tiempo.

Luego, puede enviar su habilidad para revisión. Pasarán 1 o 2 días hasta que reciba comentarios sobre su habilidad. Si hizo todo bien, su habilidad se publicará inmediatamente después de la revisión.

Si ya desea probar la habilidad, pero aún está certificada, siempre puede usar esta habilidad:

www.amazon.com/gp/product/B07ZH9GL9N?ref&ref=cm_sw_em_r_as_dp_uCOJljYBKfNx9

Recomendado: