Hur man skapar en Alexa Skill: 10 steg
Hur man skapar en Alexa Skill: 10 steg

Video: Hur man skapar en Alexa Skill: 10 steg

Video: Hur man skapar en Alexa Skill: 10 steg
Video: Умный диммер ZigBee WiFi для регулировки освещения Bingoelec Tuya Smart 2025, Januari
Anonim
Hur man skapar en Alexa Skill
Hur man skapar en Alexa Skill

Vad är alexa -skicklighet?

Alexa -färdigheter är som appar. Du kan aktivera och inaktivera färdigheter med hjälp av Alexa -appen eller en webbläsare på samma sätt som du installerar och avinstallerar appar på din smartphone eller surfplatta. Färdigheter är röststyrda Alexa-funktioner. Du kan lägga till Alexa -färdigheter i ditt eko för att väcka produkter och tjänster till liv. Du kan se tillgängliga färdigheter och aktivera eller inaktivera dem med din Alexa -app.

Denna handledning visar dig hur du skapar en alexa -färdighet.

Mål:

Målet är att skapa en färdighet som berättar för användaren ett roligt tyskt ord varje gång, frågar användaren.

Demo:

För att se hur färdigheten ska fungera efteråt kan du testa den här:

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

Tillbehör

  • Kunskap inom programmering
  • Grunderna i Node.js och Javascript

Steg 1: Skapa ett Amazon -utvecklarkonto

Skapa ett Amazon -utvecklarkonto
Skapa ett Amazon -utvecklarkonto

Förutsatt att du inte har ett Amazon -utvecklarkonto kan du registrera dig här. Annars kan du logga in här.

Steg 2: Skapa en ny skicklighet

Skapa en ny skicklighet
Skapa en ny skicklighet
Skapa en ny skicklighet
Skapa en ny skicklighet
  1. Följ den här länken:
  2. Klicka på Skapa skicklighet till höger. En ny sida öppnas efteråt.
  3. Ange namnet på din skicklighet (i vårt fall: Roliga tyska ord) i fältet Färdighetsnamn.
  4. Ställ in språket i standardspråkvalrutan till engelska (USA)
  5. Vi ska skapa en anpassad skicklighet, så vi väljer anpassad modell
  6. På Välj en metod för att vara värd för din färdighets backendresurser vi väljer Alexa-Hosted (Node.js)
  7. När du är klar klickar du på Skapa skicklighet
  8. Ett nytt fönster öppnas

Steg 3: Hälsa användaren

Hälsa användaren
Hälsa användaren

Det första som en användare gör med din skicklighet är att öppna den. Avsikten, som öppnar färdigheten, är redan implementerad i provkoden och behöver inte läggas till längre.

  1. Öppna fliken Kod → Kodfönstret med index.js -filen öppnas

    Varje avsiktshanterare har två funktioner

    • kan hantera()
    • hantera()

    Funktionen canHandle () innehåller förfrågan som hanteraren svarar på.

    Handtaget () -funktionen skickar ett svar till användaren.

    Om en skicklighet tar emot en begäran, kallas funktionen canHandle () för varje avsiktshanterare och kontrollerar om den kan skicka ett svar på den begäran.

  2. I handtaget () -funktionen i LaunchRequestHandler tar du bort hela koden och klistrar in följande efteråt:

    const speakOutput = 'Välkommen till roliga tyska ord. Ta reda på vilka roliga ord det tyska språket har att erbjuda och vad de betyder. Vill du höra ett roligt ord? ';

    const repromptText = 'Vill du höra ett roligt tyskt ord?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

  3. Klicka på Spara och distribuera.

Hjälpavsiktshanteraren måste ändras för att matcha med färdigheten. Radera koden för handtaget () -funktionen och sätt in detta:

const speakOutput = 'Ta reda på vilka roliga ord det tyska språket har att erbjuda och vad de betyder. Vill du höra ett roligt ord? ';

const repromptText = 'Vill du höra ett roligt tyskt ord?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromptText).getResponse ();

Klicka på Spara och distribuera efter det.

Steg 4: Testa hälsningen

Testa hälsningen
Testa hälsningen
Testa hälsningen
Testa hälsningen

Varje gång du har mer funktionalitet för din skicklighet, testa om det verkligen fungerar, för att ta reda på om det finns ett fel, var felet kan vara.

  1. Klicka på fliken Test → Ett nytt fönster öppnas.
  2. Aktivera testmiljön genom att välja Utveckling i markeringsrutan.
  3. Skriv eller tala: "uppen roliga tyska ord" → Färdigheten ska nu svara med hälsningen.

Steg 5: Lägg till avsikter

Lägg till avsikter
Lägg till avsikter
Lägg till avsikter
Lägg till avsikter
Lägg till avsikter
Lägg till avsikter

Nu ska vi lägga till möjligheter för hur en användare kan interagera med din skicklighet. Avsikter gör det möjligt att reagera korrekt efter speciella fraser och utlösa corret -hanteraren efteråt.

  1. Klicka på fliken Bygg → Fönstret Bygg öppnas.
  2. Navigeringsfältet till höger visar alla aktiverade avsikter. Först och främst, ta bort HelloWorldIntent.
  3. Klicka sedan på knappen Lägg till bredvid fliken avsikter i navigeringsfältet.

Först och främst lägger vi till några inbyggda avsikter från Alexas inbyggda bibliotek

  1. Klicka på Använd en befintlig avsikt från Alexas inbyggda bibliotek
  2. Sök efter YesIntent och NoIntent och klicka på lägg till av båda.

Nu lägger vi till vår egen anpassade avsikt.

  1. Klicka på Skapa anpassad avsikt
  2. Ge namnet TellAFunnyWordIntent till avsikten
  3. Klicka på Skapa anpassad avsikt

Nu kommer vi att lägga till några exempelfraser till vår avsikt. Exempelfraser är fraser som användaren kanske kan säga. Ange bara dessa exempelfraser:

  • säg mig ett ord
  • berätta ett roligt tyskt ord
  • ett ord
  • ett roligt ord
  • för att säga mig ett ord

Naturligtvis finns det mycket fler fraser användaren kan säga. Du kan förlänga avsikten om du vill, men vi fokuserar på funktionaliteten för närvarande.

När du har lagt till fraserna klickar du på Spara modell och sedan på Bygg modell. När bygget är klart går du tillbaka till fliken Kod.

Steg 6: Lägg till roliga ord

För att vår skicklighet ska berätta roliga ord behöver den några roliga ord först.

För det skapar du en ny fil som heter word.json i lambda -mappen.

Sätt in dessa ord i filen word.json:

[{"word": "Lebensabschnittpartner", "forklaring": "Detta ord beskrivs mest som ett annat alternativ för partner eller älskare, men med en mer övergående twist." }, {"word": "Unabhängigkeitserklärungen", "forklaring": "Detta ord beskriver deklarationen om oberoende." }, {"word": "Freundschaftsbezeugung", "förklaring": "Det är en demonstration av vänskap." }, {"word": "Rechtsschutzversicherungsgesellschaften", "forklaring": "Guinness World Records Book erkänner detta krångliga ord som det längsta tyska ordet i vardagligt bruk. Det betyder försäkringsbolag som ger rättsligt skydd." }, {"word": "Kaftfahrzeug-Haftpflichtversicherung", "förklaring": "Det hänvisar till en ansvarsförsäkring för motorfordon." }, {"word": "Donaudampfschiffahrtsgesellschaftskapitän", "förklaring": "Detta ord fortsätter temat för transport och är fyra ord sammanfogade snyggt för att säga Donau -ångfartygets kapten." }]

Naturligtvis kan du lägga till fler ord om du kan några. Men för testning borde det redan fungera.

Klicka på Spara och distribuera igen.

Steg 7: Lägg till Intent Handlers

De tidigare skapade avsikterna behöver nu en hanterare, som utlöses av en avsikt. NoIntentHandler stänger skickligheten. YesIntentHandler och TellAFunnyWordIntentHandler svarar med ett roligt ord och dess förklaring.

Ta bort hela HelloWorldIntentHandler från index.js -filen och lägg till tre nya istället:

const TellAFunnyWordIntentHandler = {

canHandle (handlerInput) {return Alexa.getRequestType (handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName (handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle (handlerInput) {const word = JSON.parse (fs.readFileSync ('./ words.json')); const word = ord [Math.floor (Math.random () * word.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 word = JSON.parse (fs.readFileSync ('./ words.json')); const word = ord [Math.floor (Math.random () * word.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 = 'Okej, kanske en annan gång.'; return handlerInput.responseBuilder.speak (speakOutput).getResponse (); }};

Steg 8: Registrera Intent Handlers

Nu måste vi registrera de nya avsiktshanterarna. För det, bläddra till slutet av index.js -filen.

Ersätt detta:

exports.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // se till att IntentReflectorHandler är sista så att det inte åsidosätter dina anpassade avsiktshandlare).

med det:

exports.handler = Alexa. SkillBuilders.custom ()

.addRequestHandlers (LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // se till att det är IntentRefland).

Klicka sedan på Spara och distribuera igen. Efter att distributionen är klar testar du färdigheten igen.

Steg 9: Testa färdigheten

  1. Klicka på fliken Test → Ett nytt fönster öppnas.
  2. Skriv eller tala: "uppen roliga tyska ord" → Färdigheten ska nu svara med hälsningen.
  3. Skriv eller tala: "berätta för mig ett roligt tyskt ord" → Färdigheten ska nu berätta ett av orden.

Om allt fungerar kan du redan skicka in din skicklighet.

Steg 10: Ange Skill Preview och Skicka för granskning

Ställ in förhandsgranskning av skicklighet och skicka in för granskning
Ställ in förhandsgranskning av skicklighet och skicka in för granskning

Fyll alla obligatoriska textrutor med din personliga beskrivning av färdigheten.

Vid exempelfraser skriver du:

  • Alexa, öppna Roliga tyska ord.
  • Alexa, be Funny German Words att berätta för mig ett roligt ord.

När du har fyllt i alla obligatoriska fält och efter att du har laddat upp ikonerna klickar du på Spara och fortsätter.

Välj rätt svar på Sekretess och kompilering och vid Tillgänglighet.

Ta en titt på checklistan för inlämning innan du skickar in

Nu måste du köra några tester. Detta kan ta ett tag.

Efteråt kan du skicka in din skicklighet för granskning. Det kommer att ta 1 eller 2 dagar tills du får feedback på din skicklighet. Om du gjorde allt rätt kommer din skicklighet att publiceras direkt efter granskningen.

Om du redan vill prova färdigheten, men den fortfarande är certifierad, kan du alltid använda den här färdigheten:

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