Table des matières:

Comment créer une compétence Alexa : 10 étapes
Comment créer une compétence Alexa : 10 étapes

Vidéo: Comment créer une compétence Alexa : 10 étapes

Vidéo: Comment créer une compétence Alexa : 10 étapes
Vidéo: Comment créer sa propre Skill Alexa ? On peut maintenant se lancer sur les appareils Amazon Echo 2024, Novembre
Anonim
Comment créer une compétence Alexa
Comment créer une compétence Alexa

Qu'est-ce qu'une compétence alexa ?

Les compétences Alexa sont comme des applications. Vous pouvez activer et désactiver les compétences, à l'aide de l'application Alexa ou d'un navigateur Web, de la même manière que vous installez et désinstallez des applications sur votre smartphone ou votre tablette. Les compétences sont des capacités Alexa à commande vocale. Vous pouvez ajouter des compétences Alexa à votre Echo pour donner vie à vos produits et services. Vous pouvez afficher les compétences disponibles et les activer ou les désactiver à l'aide de votre application Alexa.

Ce tutoriel vous montre comment créer une compétence alexa.

But:

Le but est de créer une compétence qui dit à l'utilisateur un mot allemand amusant à chaque fois, demande l'utilisateur.

Démo:

Pour voir comment la compétence devrait fonctionner par la suite, vous pouvez la tester ici:

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

Fournitures

  • Connaissances en programmation
  • Notions de base sur Node.js et Javascript

Étape 1: Créez un compte de développeur Amazon

Créer un compte développeur Amazon
Créer un compte développeur Amazon

Si vous n'avez pas de compte développeur Amazon, vous pouvez vous inscrire ici. Sinon, vous pouvez vous connecter ici.

Étape 2: Créer une nouvelle compétence

Créer une nouvelle compétence
Créer une nouvelle compétence
Créer une nouvelle compétence
Créer une nouvelle compétence
  1. Suivez ce lien:
  2. Cliquez sur Créer une compétence sur le côté droit. Une nouvelle page s'ouvre ensuite.
  3. Entrez le nom de votre compétence (dans notre cas: Funny German Words) dans le champ Skill name.
  4. Définissez la langue dans la boîte de sélection de la langue par défaut sur l'anglais (États-Unis)
  5. Nous allons créer une compétence personnalisée, nous choisissons donc le modèle Custom
  6. Chez Choisissez une méthode pour héberger les ressources backend de votre compétence, nous choisissons Alexa-Hosted (Node.js)
  7. Une fois que vous avez terminé, cliquez sur Créer une compétence
  8. Une nouvelle fenêtre s'ouvre

Étape 3: Accueillir l'utilisateur

Accueillir l'utilisateur
Accueillir l'utilisateur

La première chose qu'un utilisateur fait avec votre compétence, c'est de l'ouvrir. L'intention, qui ouvre la compétence est déjà implémentée dans l'exemple de code et n'a plus besoin d'être ajoutée.

  1. Ouvrez l'onglet Code → La fenêtre de code avec le fichier index.js s'ouvre

    Chaque gestionnaire d'intention a deux fonctions

    • peut gérer()
    • manipuler()

    La fonction canHandle() inclut la requête à laquelle le gestionnaire répond.

    La fonction handle() envoie une réponse à l'utilisateur.

    Si une compétence reçoit une demande, la fonction canHandle() de chaque gestionnaire d'intention est appelée et vérifie si elle peut envoyer une réponse à cette demande.

  2. Dans la fonction handle () du LaunchRequestHandler, supprimez l'intégralité du code et collez ensuite ce qui suit:

    const speakOutput = 'Bienvenue dans Funny German Words. Découvrez quels mots amusants la langue allemande a à offrir et ce qu'ils signifient. Voulez-vous entendre un mot amusant ?';

    const repromptText = 'Voulez-vous entendre un mot allemand amusant ?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

  3. Cliquez sur Enregistrer et déployer.

Le gestionnaire d'intention d'aide doit être modifié pour correspondre à la compétence. Supprimez le code de la fonction handle() et insérez ceci:

const speakOutput = 'Découvrez quels mots amusants la langue allemande a à offrir et ce qu'ils signifient. Voulez-vous entendre un mot amusant ?';

const repromptText = 'Voulez-vous entendre un mot allemand amusant ?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

Après avoir terminé, cliquez sur Enregistrer et déployer.

Étape 4: Testez le message d'accueil

Tester le message d'accueil
Tester le message d'accueil
Tester le message d'accueil
Tester le message d'accueil

Chaque fois que vous avez plus de fonctionnalités pour votre compétence, testez si cela fonctionne vraiment, pour savoir en cas d'erreur, où l'erreur pourrait être.

  1. Cliquez sur l'onglet Test → Une nouvelle fenêtre s'ouvre.
  2. Activez l'environnement de test en sélectionnant Développement dans la zone de sélection.
  3. Écrivez ou parlez: "ouvrir des mots allemands amusants" → La compétence devrait maintenant répondre avec le message d'accueil.

Étape 5: ajouter des intentions

Ajouter des intentions
Ajouter des intentions
Ajouter des intentions
Ajouter des intentions
Ajouter des intentions
Ajouter des intentions

Nous allons maintenant ajouter des opportunités sur la façon dont un utilisateur peut interagir avec votre compétence. Les intentions permettent de réagir correctement après des phrases spéciales et de déclencher le gestionnaire de corret par la suite.

  1. Cliquez sur l'onglet Build → La fenêtre Build s'ouvre.
  2. La barre de navigation sur la droite montre toutes les intentions activées. Tout d'abord, supprimez le HelloWorldIntent.
  3. Cliquez ensuite sur le bouton Ajouter à côté de l'onglet Intentions dans la barre de navigation.

Tout d'abord, nous ajoutons des intentions intégrées à partir de la bibliothèque intégrée d'Alexa

  1. Cliquez sur Utiliser une intention existante de la bibliothèque intégrée d'Alexa
  2. Recherchez YesIntent et NoIntent et cliquez sur ajouter par les deux.

Maintenant, nous ajoutons notre propre intention personnalisée.

  1. Cliquez sur Créer une intention personnalisée
  2. Donnez le nom TellAFunnyWordIntent à l'intention
  3. Cliquez sur Créer une intention personnalisée

Nous allons maintenant ajouter quelques exemples de phrases à notre intention. Les exemples de phrases sont des phrases que l'utilisateur pourrait peut-être dire. Entrez simplement ces exemples de phrases:

  • dis moi un mot
  • dis-moi un drôle de mot allemand
  • un mot
  • un mot drôle
  • me dire un mot

Bien sûr, il y a beaucoup plus de phrases que l'utilisateur pourrait dire. Vous pouvez étendre l'intention si vous le souhaitez, mais nous nous concentrons actuellement sur la fonctionnalité.

Après avoir ajouté les phrases, cliquez sur Enregistrer le modèle puis sur Construire le modèle. Une fois la construction terminée, revenez à l'onglet Code.

Étape 6: Ajoutez des mots amusants

Pour que notre compétence dise des mots drôles, elle a d'abord besoin de mots drôles.

Pour cela, créez un nouveau fichier nommé words.json dans le dossier lambda.

Insérez ces mots dans le fichier words.json:

[{ "word": "Lebensabschnittpartner", "explanation": "Ce mot est surtout décrit comme une autre option pour le partenaire ou l'amant, mais avec une torsion plus transitoire." }, { "mot": "Unabhängigkeitserklärungen", "explication": "Ce mot décrit la déclaration d'indépendance." }, { "word": "Freundschaftsbezeugung", "explanation": "C'est la démonstration de l'amitié." }, { "word": "Rechtsschutzversicherungsgesellschaften", "explanation": "Le Livre Guinness des records reconnaît ce mot lourd comme le mot allemand le plus long d'usage courant. Il désigne les compagnies d'assurance fournissant une protection juridique." }, { "mot": "Kaftfahrzeug-Haftpflichtversicherung", "explication": "Il s'agit d'une assurance responsabilité civile automobile." }, { "word": "Donaudampfschiffahrtsgesellschaftskapitän", "explanation": "Ce mot continue le thème du transport, et est composé de quatre mots soigneusement assemblés pour dire capitaine de la compagnie de navigation du Danube." }]

Bien sûr, vous pouvez ajouter d'autres mots si vous en connaissez. Mais pour tester, cela devrait déjà fonctionner.

Cliquez à nouveau sur Enregistrer et déployer.

Étape 7: ajouter des gestionnaires d'intention

Les intents précédemment créés ont maintenant besoin d'un gestionnaire, qui est déclenché par un intent. Le NoIntentHandler ferme la compétence. Le YesIntentHandler et le TellAFunnyWordIntentHandler répondent avec un mot amusant et son explication.

Supprimez l'intégralité du HelloWorldIntentHandler du fichier index.js et ajoutez-en trois nouveaux à la place:

const TellAFunnyWordIntentHandler = {

canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle(handlerInput) { mots const = JSON.parse(fs.readFileSync('./words.json')); mot const = mots[Math.floor(Math.random() * mots.longueur)]; const speakOutput = mot.mot + '. ' + mot.explication; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const YesIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle(handlerInput) { mots const = JSON.parse(fs.readFileSync('./words.json')); mot const = mots[Math.floor(Math.random() * mots.longueur)]; const speakOutput = mot.mot + '. ' + mot.explication; 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 = 'D'accord, peut-être une autre fois.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };

Étape 8: Enregistrez les gestionnaires d'intention

Nous devons maintenant enregistrer les nouveaux gestionnaires d'intention. Pour cela, faites défiler jusqu'à la fin du fichier index.js.

Remplacez ceci:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assurez-vous que IntentReflectorHandler est le dernier afin qu'il ne remplace pas vos gestionnaires d'intention personnalisés)

avec ça:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assurez-vous que IntentReflectorHandler est le dernier à remplacer votre personnalisation.

Cliquez ensuite à nouveau sur Enregistrer et déployer. Une fois le déploiement terminé, testez à nouveau la compétence.

Étape 9: Testez la compétence

  1. Cliquez sur l'onglet Test → Une nouvelle fenêtre s'ouvre.
  2. Écrivez ou parlez: "ouvrir des mots allemands amusants" → La compétence devrait maintenant répondre avec le message d'accueil.
  3. Écrivez ou parlez: "dis-moi un mot allemand amusant" → La compétence devrait maintenant dire l'un des mots.

Si tout fonctionne, vous pouvez déjà soumettre votre skill.

Étape 10: Définir l'aperçu des compétences et soumettre pour examen

Définir l'aperçu des compétences et soumettre pour examen
Définir l'aperçu des compétences et soumettre pour examen

Remplissez toutes les zones de texte requises avec votre description personnelle de la compétence.

Dans Exemples de phrases, écrivez:

  • Alexa, ouvre Funny German Words.
  • Alexa, demande à Funny German Words de me dire un mot amusant.

Après avoir rempli tous les champs requis et après avoir téléchargé les icônes, cliquez sur Enregistrer et continuer.

Choisissez les bonnes réponses dans Confidentialité & Compilance et Disponibilité.

S'il vous plaît jeter un oeil à la liste de contrôle de soumission avant de soumettre

Maintenant, vous devez exécuter quelques tests. Cela peut prendre un certain temps.

Ensuite, vous pouvez soumettre votre compétence pour examen. Il faudra 1 ou 2 jours jusqu'à ce que vous obteniez des commentaires sur votre compétence. Si vous avez tout fait correctement, votre compétence sera publiée juste après l'examen.

Si vous souhaitez déjà essayer la compétence, mais qu'elle est toujours en cours de certification, vous pouvez toujours utiliser cette compétence:

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

Conseillé: