Inhoudsopgave:
- Benodigdheden
- Stap 1: Maak een Amazon-ontwikkelaarsaccount aan
- Stap 2: Creëer een nieuwe vaardigheid
- Stap 3: begroet de gebruiker
- Stap 4: Test de begroeting
- Stap 5: Intenties toevoegen
- Stap 6: voeg grappige woorden toe
- Stap 7: Intent-handlers toevoegen
- Stap 8: Registreer de Intent Handlers
- Stap 9: Test de vaardigheid
- Stap 10: Vaardigheidsvoorbeeld instellen en ter beoordeling indienen
Video: Een Alexa-vaardigheid maken: 10 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
Als je geen Amazon-ontwikkelaarsaccount hebt, kun je je hier aanmelden. Anders kunt u zich hier aanmelden.
Stap 2: Creëer een nieuwe vaardigheid
- Volg deze link:
- Klik aan de rechterkant op Vaardigheid maken. Daarna opent een nieuwe pagina.
- Voer de naam van je vaardigheid in (in ons geval: grappige Duitse woorden) in het veld Vaardigheidsnaam.
- Stel de taal in de Standaardtaal Select-Box in op Engels (VS)
- We gaan een aangepaste vaardigheid maken, dus we kiezen voor het aangepaste model
- Bij Kies een methode om de backend-bronnen van uw vaardigheid te hosten, kiezen we Alexa-Hosted (Node.js)
- Nadat u klaar bent, klikt u op Vaardigheid maken
- Er wordt een nieuw venster geopend
Stap 3: begroet 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.
-
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.
-
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 ();
- 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
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.
- Klik op het tabblad Test → Er wordt een nieuw venster geopend.
- Activeer de testomgeving door Ontwikkeling te selecteren in het keuzevak.
- Schrijf of spreek: "oppen grappige Duitse woorden" → De vaardigheid zou nu moeten antwoorden met de begroeting.
Stap 5: 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.
- Klik op het tabblad Build → Het Build-venster wordt geopend.
- De navigatiebalk aan de rechterkant toont alle geactiveerde intenties. Verwijder eerst de HelloWorldIntent.
- 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
- Klik op Gebruik een bestaande intentie uit de ingebouwde bibliotheek van Alexa
- Zoek naar YesIntent en NoIntent en klik op toevoegen door beide.
Nu voegen we onze eigen aangepaste intentie toe.
- Klik op Aangepaste intentie maken
- Geef de naam TellAFunnyWordIntent aan de intentie
- 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
- Klik op het tabblad Test → Er wordt een nieuw venster geopend.
- Schrijf of spreek: "oppen grappige Duitse woorden" → De vaardigheid zou nu moeten antwoorden met de begroeting.
- 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
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:
Een USB-hub maken van een oud toetsenbord ?♻: 3 stappen (met afbeeldingen)
Een USB-hub maken van een oud toetsenbord ?♻: As-Salaamu-Alaikum! Ik heb een oud toetsenbord dat niet in gebruik was en ook de toetsen waren een beetje defect. Dus besloot ik er iets aan te doen. Ik nam de printplaat en zette het om in "USB Hub".Het was gemakkelijk
(2) Beginnen met het maken van een spel - Een opstartscherm maken in Unity3D - Ajarnpa
(2) Beginnen met het maken van een spel - Een opstartscherm maken in Unity3D: In deze Instructable leert u hoe u een eenvoudig opstartscherm maakt in Unity3D. Eerst openen we Unity
Een Facebook-account maken op een computer: 9 stappen
Hoe maak je een Facebook-account aan op een computer: De eerste stap die nodig is om dit project uit te voeren is: zoek een computer met internettoegang
Een 3D-printergegevens maken van een behuizing voor een elektronische module door Blender. Ajarnpa
Een 3D-printergegevens maken van een behuizing voor elektronische module door Blender.: Je hebt ze nodig (voorbeeld dat ik heb gebruikt). 3D-printer (TEVO Tarantula) 2D-scanner (CanoScan LiDE 200) 3D-gegevenseditor (blender) 2D-gegevenseditor (Paint Shop Pro) https://neo-sahara.com/wp/case_make_blender
Een Bluetooth-adapter Pt.2 maken (een compatibele luidspreker maken): 16 stappen
Een Bluetooth-adapter Pt.2 maken (een compatibele luidspreker maken): in deze instructie laat ik u zien hoe u mijn Bluetooth-adapter kunt gebruiken om een oude luidspreker Bluetooth-compatibel te maken. * Als u mijn eerste instructie over "Maken nog niet hebt gelezen een Bluetooth-adapter" Ik raad u aan dit te doen voordat u doorgaat.C