Inhoudsopgave:

Een Alexa-vaardigheid maken: 10 stappen
Een Alexa-vaardigheid maken: 10 stappen

Video: Een Alexa-vaardigheid maken: 10 stappen

Video: Een Alexa-vaardigheid maken: 10 stappen
Video: 21 Amazon Alexa Skills to Get MORE out of your ECHO! 2024, November
Anonim
Hoe maak je een Alexa-vaardigheid aan
Hoe maak je een Alexa-vaardigheid aan

Wat is een Alexa-vaardigheid?

Alexa-vaardigheden zijn als apps. U kunt vaardigheden in- en uitschakelen met behulp van de Alexa-app of een webbrowser, op dezelfde manier waarop u apps op uw smartphone of tablet installeert en verwijdert. Vaardigheden zijn spraakgestuurde Alexa-mogelijkheden. Je kunt Alexa-vaardigheden aan je Echo toevoegen om producten en diensten tot leven te brengen. Je kunt beschikbare vaardigheden bekijken en deze in- of uitschakelen met je Alexa-app.

Deze tutorial laat je zien hoe je een Alexa-vaardigheid maakt.

Doel:

Het doel is om een vaardigheid te creëren die de gebruiker elke keer een grappig Duits woord vertelt, vraagt de gebruiker.

Demo:

Om te zien hoe de vaardigheid achteraf zou moeten werken, kun je hem hier testen:

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

Benodigdheden

  • Kennis van programmeren
  • Basisprincipes in Node.js en Javascript

Stap 1: Maak een Amazon-ontwikkelaarsaccount aan

Een Amazon-ontwikkelaarsaccount maken
Een Amazon-ontwikkelaarsaccount maken

Als je geen Amazon-ontwikkelaarsaccount hebt, kun je je hier aanmelden. Anders kunt u zich hier aanmelden.

Stap 2: Creëer een nieuwe vaardigheid

Een nieuwe vaardigheid maken
Een nieuwe vaardigheid maken
Een nieuwe vaardigheid maken
Een nieuwe vaardigheid maken
  1. Volg deze link:
  2. Klik aan de rechterkant op Vaardigheid maken. Daarna opent een nieuwe pagina.
  3. Voer de naam van je vaardigheid in (in ons geval: grappige Duitse woorden) in het veld Vaardigheidsnaam.
  4. Stel de taal in de Standaardtaal Select-Box in op Engels (VS)
  5. We gaan een aangepaste vaardigheid maken, dus we kiezen voor het aangepaste model
  6. Bij Kies een methode om de backend-bronnen van uw vaardigheid te hosten, kiezen we Alexa-Hosted (Node.js)
  7. Nadat u klaar bent, klikt u op Vaardigheid maken
  8. Er wordt een nieuw venster geopend

Stap 3: begroet de gebruiker

Groet de gebruiker
Groet de gebruiker

Het eerste wat een gebruiker met jouw vaardigheid doet, is het openen ervan. De intentie waarmee de vaardigheid wordt geopend, is al geïmplementeerd in de voorbeeldcode en hoeft niet meer te worden toegevoegd.

  1. Open het tabblad Code → Het codevenster met het bestand index.js wordt geopend

    Elke intent handler heeft twee functies:

    • canHandle()
    • handvat()

    De functie canHandle() bevat het verzoek waarop de handler reageert.

    De functie handle() stuurt een reactie naar de gebruiker.

    Als een vaardigheid een verzoek ontvangt, wordt de functie canHandle() van elke intent-handler aangeroepen en wordt gecontroleerd of het een antwoord op dat verzoek kan verzenden.

  2. Verwijder in de handle()-functie van de LaunchRequestHandler de hele code en plak daarna het volgende:

    const speakOutput = 'Welkom bij grappige Duitse woorden. Ontdek welke grappige woorden de Duitse taal te bieden heeft en wat ze betekenen. Wil je een grappig woord horen?';

    const repromptText = 'Wil je een grappig Duits woord horen?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

  3. Klik op Opslaan en implementeren.

De handler voor de hulpintentie moet worden gewijzigd om overeen te komen met de vaardigheid. Verwijder de code van de handle() functie en voeg deze in:

const speakOutput = 'Ontdek welke grappige woorden de Duitse taal te bieden heeft en wat ze betekenen. Wil je een grappig woord horen?';

const repromptText = 'Wil je een grappig Duits woord horen?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

Nadat u daarmee klaar bent, klikt u op Opslaan en implementeren.

Stap 4: Test de begroeting

Test de begroeting
Test de begroeting
Test de begroeting
Test de begroeting

Telkens wanneer u meer functionaliteit voor uw vaardigheid heeft, test u of het echt werkt, om in geval van een fout te achterhalen waar de fout zou kunnen zitten.

  1. Klik op het tabblad Test → Er wordt een nieuw venster geopend.
  2. Activeer de testomgeving door Ontwikkeling te selecteren in het keuzevak.
  3. Schrijf of spreek: "oppen grappige Duitse woorden" → De vaardigheid zou nu moeten antwoorden met de begroeting.

Stap 5: Intenties toevoegen

Intenties toevoegen
Intenties toevoegen
Intenties toevoegen
Intenties toevoegen
Intenties toevoegen
Intenties toevoegen

Nu gaan we mogelijkheden toevoegen hoe een gebruiker met uw vaardigheid kan omgaan. Intenties maken het mogelijk om correct te reageren na speciale zinnen en daarna de corret-handler te activeren.

  1. Klik op het tabblad Build → Het Build-venster wordt geopend.
  2. De navigatiebalk aan de rechterkant toont alle geactiveerde intenties. Verwijder eerst de HelloWorldIntent.
  3. Klik daarna op de knop Toevoegen naast het tabblad intenties in de navigatiebalk.

Allereerst voegen we enkele ingebouwde intenties toe uit de ingebouwde bibliotheek van Alexa

  1. Klik op Gebruik een bestaande intentie uit de ingebouwde bibliotheek van Alexa
  2. Zoek naar YesIntent en NoIntent en klik op toevoegen door beide.

Nu voegen we onze eigen aangepaste intentie toe.

  1. Klik op Aangepaste intentie maken
  2. Geef de naam TellAFunnyWordIntent aan de intentie
  3. Klik op Aangepaste intentie maken

Nu zullen we enkele voorbeeldzinnen toevoegen aan onze bedoeling. Voorbeeldzinnen zijn zinnen die de gebruiker misschien zou kunnen zeggen. Voer gewoon die voorbeeldzinnen in:

  • vertel me een woord
  • vertel me een grappig Duits woord
  • een woord
  • een grappig woord
  • om me een woord te vertellen

Natuurlijk zijn er nog veel meer zinnen die de gebruiker zou kunnen zeggen. Je kunt de intentie uitbreiden als je wilt, maar we concentreren ons momenteel op de functionaliteit.

Klik na het toevoegen van de zinnen op Save Model en daarna op Build Model. Nadat de build is voltooid, navigeert u terug naar het tabblad Code.

Stap 6: voeg grappige woorden toe

Om onze vaardigheid grappige woorden te laten vertellen, hebben we eerst wat grappige woorden nodig.

Maak daarvoor een nieuw bestand met de naam words.json in de lambda-map.

Voeg die woorden toe aan het bestand words.json:

[{ "word": "Lebensabschnittpartner", "explanation": "Dit woord wordt het meest beschreven als een andere optie voor partner of minnaar, maar met een meer voorbijgaande draai." }, { "word": "Unabhängigkeitserklärungen", "explanation": "Dit woord beschrijft de onafhankelijkheidsverklaring." }, { "word": "Freundschaftsbezeugung", "explanation": "Het is de demonstratie van vriendschap." }, { "word": "Rechtsschutzversicherungsgesellschaften", "explanation": "Het Guinness Book of World Records erkent dit omslachtige woord als het langste Duitse woord in alledaags gebruik. Het betekent verzekeringsmaatschappijen die juridische bescherming bieden." }, { "word": "Kaftfahrzeug-Haftpflichtversicherung", "explanation": "Het verwijst naar een aansprakelijkheidsverzekering voor motorrijtuigen." }, { "word": "Donaudampfschiffahrtsgesellschaftskapitän", "explanation": "Dit woord zet het thema van transport voort en bestaat uit vier woorden die netjes aan elkaar zijn geknutseld om te zeggen Kapitein van de Donau-stoomschipmaatschappij." }]

Natuurlijk kun je meer woorden toevoegen als je er een paar weet. Maar voor het testen zou het al moeten werken.

Klik nogmaals op Opslaan en implementeren.

Stap 7: Intent-handlers toevoegen

De eerder gemaakte intenties hebben nu een handler nodig, die wordt geactiveerd door een intentie. De NoIntentHandler sluit de vaardigheid af. De YesIntentHandler en de TellAFunnyWordIntentHandler antwoorden met een grappig woord en de uitleg ervan.

Verwijder de hele HelloWorldIntentHandler uit het bestand index.js en voeg in plaats daarvan drie nieuwe toe:

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 woord = woorden[Math.floor(Math.random() * woorden.length)]; const speakOutput = woord.woord + '. ' + woord.uitleg; 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 woord = woorden[Math.floor(Math.random() * woorden.length)]; const speakOutput = woord.woord + '. ' + woord.uitleg; 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 = 'Oké, misschien een andere keer.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };

Stap 8: Registreer de Intent Handlers

Nu moeten we de nieuwe intent handlers registreren. Scroll daarvoor naar het einde van het bestand index.js.

Vervang dit:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // zorg ervoor dat IntentReflectorHandler de laatste is, zodat deze uw aangepaste intent-handlers niet overschrijft).addErrorHandlers(). ErrorHandlerb, ().

met dat:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers (LaunchRequestHandler, TellAAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // zorg ervoor dat IntentReflectorHandler de laatste is, zodat deze uw aangepaste intent-handlers niet overschrijft)

Klik daarna nogmaals op Opslaan en implementeren. Nadat de implementatie is voltooid, test u de vaardigheid opnieuw.

Stap 9: Test de vaardigheid

  1. Klik op het tabblad Test → Er wordt een nieuw venster geopend.
  2. Schrijf of spreek: "oppen grappige Duitse woorden" → De vaardigheid zou nu moeten antwoorden met de begroeting.
  3. Schrijf of spreek: "vertel me een grappig Duits woord" → De vaardigheid zou nu een van de woorden moeten vertellen.

Als alles werkt, kun je je vaardigheid al inleveren.

Stap 10: Vaardigheidsvoorbeeld instellen en ter beoordeling indienen

Vaardigheidsvoorbeeld instellen en ter beoordeling indienen
Vaardigheidsvoorbeeld instellen en ter beoordeling indienen

Vul alle vereiste tekstvakken met uw persoonlijke beschrijving van de vaardigheid.

Schrijf bij voorbeeldzinnen:

  • Alexa, open grappige Duitse woorden.
  • Alexa, vraag Funny German Words om me een grappig woord te vertellen.

Nadat u alle vereiste velden heeft ingevuld en nadat u de pictogrammen heeft geüpload, klikt u op Opslaan en doorgaan.

Kies de juiste antwoorden bij Privacy & Compilance en bij Beschikbaarheid.

Bekijk de inzendingschecklist voordat u deze indient

Nu moet u enkele tests uitvoeren. Dit kan even duren.

Daarna kunt u uw vaardigheid ter beoordeling indienen. Het duurt 1 of 2 dagen voordat je feedback krijgt over je vaardigheden. Als je alles goed hebt gedaan, wordt je vaardigheid direct na de beoordeling gepubliceerd.

Als je de vaardigheid al wilt proberen, maar deze nog in certificering is, kun je altijd deze vaardigheid gebruiken:

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

Aanbevolen: