Inhoudsopgave:

Alexa Skill Erstellen (Duits - Deutsch): 10 stappen
Alexa Skill Erstellen (Duits - Deutsch): 10 stappen

Video: Alexa Skill Erstellen (Duits - Deutsch): 10 stappen

Video: Alexa Skill Erstellen (Duits - Deutsch): 10 stappen
Video: Sonoff flashen, in Homematic einbinden und mit Alexa ueber Homematic steuern - Sonoff Serie Teil 3 2024, Juli-
Anonim
Alexa Skill Erstellen (Duits | Duits)
Alexa Skill Erstellen (Duits | Duits)

Was het een Alexa Skill?

Alexa is in Cloud-basierter Sprachservice, der auf Geräten met Amazon Echo, Echo Dot, Echo Show of Echo Spot verfügbar ist. Entwickler können Alexa Fähigkeiten hinzufügen, dus genannte Skills, mit denen die Nutzer ihr Gerät auf ihre Bedürfnisse anpassen können. Es gibt zehntausende Skills im Alexa Skills Store zu entdecken, u. A. von Unternehmen wie Deutsche Bahn, Chefkoch of dem ZDF en vielen weiteren innovationn Designern und Entwicklern. ~ Quelle: developer.amazon.com

In diesem Tutorial wird erklärt, wie man einen solchen Alexa Skill erstellt und programmemiert.

Ziel:

Ziel ist es, einen Witze Skill, namens lustige Witze zu programmieren. Dieser Skill soll dem Benutzer Witze zufällig ausgewählte Witze erzählen.

Demo:

Um zu sehen, wie der Skill nachher Funktionieren soll, gibt es here bereits eine Demo:

skills-store.amazon.de/deeplink/dp/B07ZKH9…

Dieser Skill kann getestet werden.

Benodigdheden

  • Programmeurkenntnisse
  • Kenntnisse in Node.js

Stap 1: Erstellen Eines Amazon-ontwikkelaarsaccounts

Erstellen Eines Amazon-ontwikkelaarsaccounts
Erstellen Eines Amazon-ontwikkelaarsaccounts

Sofern Du noch keinen Amazon Developer Account besitzt, kannst Du hier einen erstellen, oder dich hier anmelden.

Stap 2: Erstelle Einen Neuen Skill

Erstelle Einen Neuen Skill
Erstelle Einen Neuen Skill
Erstelle Einen Neuen Skill
Erstelle Einen Neuen Skill
  1. Folge diesem Link:
  2. Klik op de Create Skill Button op de juiste pagina. Eine neue Seite öffnet sich anschließend.
  3. Gib den Namen deines Skills (in unserem Fall: Lustige Witze) im Skill name Feld ein.
  4. Stelle die Sprache bei Standaardtaal auf Duits (DE).
  5. Wir wollen einen Custom-Skill erstellen, ook wählen wir beim Model Custom aus.
  6. Wähle bei Kies een methode om de backend-bronnen van uw vaardigheid te hosten das zweite, ook wel Alexa-Hosted (Node.js) aus.
  7. Nachdem Du alles ausgewählt hast, klik op rechts auf Create skill.
  8. Een nieuwe Fenster öffnet sich

Stap 3: Begrüße Den Benutzer

Begrüße Den Benutzer
Begrüße Den Benutzer

Das erste, was ein Benutzer mit einem Skill macht, ist ihn zu öffnen. Der Intent der den Skill öffnet ist bereits im Skill eingebaut, somit muss dieser Intent nicht extra hinzugefügt werden.

  1. Öffne den Code Tab → Das Code Fenster mit der index.js Datum öffnet sich.

    Jeder Intent Handvat hoed zwei Functies:

    • canHandle()
    • handvat()

    Die canHandle() Funktion beinhaltet de Request, also die Anfrage, auf die der Handler antwortet.

    Die handle() Funktion gibt dem Benutzer dann einen Antwort.

    Wenn dein Skill eine anfrage empfängt, so wird in der canHandle() Funktion nachgesehen, ob der Handler dieser Anfrage antworten kann.

  2. In der handle() Funktion des LaunchRequestHandlers is een code die u kunt gebruiken om een begin te maken met:

    const speakOutput = 'Willkommen bei "Lustige Witze"! Frage einfach nach einem Witz.';

    const repromtText = 'Möchtest van een witz hören?';

  3. Nun müssen wir die Antwort noch an den Benutzer senden.

    return handlerInput.responsBuilder

    .speak(speakOutput).reprompt(repromtText).getResponse();

Klik op Save en anschließend auf Deploy

Der bereits generierte Code gibt Antworten in het Engels Sprache. Damit der Alexa Skill später auch genehmigt wird, muss jede englische Antwort auf Deutsch umgeschrieben werden.

Bei folgenden Handler muss der Wert der speakOutput Variable auf deutsch umgeschrieben werden:

  • HelpIntentHandler

    const speakOutput = 'Dieser Skill erzählt dir die lustigsten Witze. Frage einfach nach einem Witz.';

    const repromtText = 'Möchtest van een witz hören?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromtText).getResponse ();

  • AnnulerenEnStopIntentHandler

    const speakOutput = 'Bis kaal!';

  • IntentReflectorHandler

    const speakOutput = `Dus ${intentName} ausgelöst.`;

  • ErrorHandler

    const speakOutput = `Es tut mir leid, aber ich kann deine Frage zurzeit nicht verarbeiten.`;

Zum Schluss immer auf Save en anschließend auf Deploy klik.

Stap 4: Begrüßung Testen

Begrüßung Testen
Begrüßung Testen
Begrüßung Testen
Begrüßung Testen

Immer nachdem Du eine Funktion zu deinem Skill hinzugefügt hast, solltest Du diese unbedingt testen, damit Du, falls ein Fehler auftritt ungefähr weißt, wo der Fehler liegen könnte.

  1. Klik op de Test Tab → een nieuw Fenster öffnet sich.
  2. Aktivière das Testen, indem du in der Select-Box Development auswählst.
  3. Schreibe of spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.

Stap 5: Intenties Hinzufügen

Intenties Hinzufügen
Intenties Hinzufügen
Intenties Hinzufügen
Intenties Hinzufügen
Intenties Hinzufügen
Intenties Hinzufügen

Nun fügen wir Möglichkeiten hinzu, wie der Benutzer mit dem Skill interagieren kann. Intents zijn ermöglichen es auf verschiedene Phrasen zu reagieren and anschließend einen bestimmten auszulösen, der die Anfrage dann verarbeitet.

  1. Klik op het tabblad Build → das Build Fenster öffnet sich.
  2. Rechts in der Navigatiesleiste steht bei Intents der HelloWorldIntent. Diesen loschen wir zu Beginn.
  3. Anschließend klik op wir auf den Add Button neben der Intents-Leiste.

Zuerst fügen wir bereits von Amazon vordefinierte Intents hinzu.

  1. Klicke dazu auf Gebruik een bestaande intentie uit de ingebouwde bibliotheek van Alexa
  2. Zo'n YesIntent en NoIntent en klik op beide om toe te voegen

Nun fügen wir unseren eigenen Intent hinzu.

  1. Klicke dazu auf Aangepaste intentie maken
  2. Gib dem Intent den Namen TellAJokeIntent
  3. Klik op een aangepaste intentie maken

Jetzt fügen wir ein paar Beispielphrasen zu unserem Intent hinzu, ook Phrasen, die der Benutzer sagen könnte. Gib dazu einfach die Phrasen ohne Punkt am Ende ein:

  • Erzähle mir einen Witz
  • Sag mir einen Witz
  • Erzähle mir einen lustigen Witz
  • Einen Witz bitte
  • nach einem Witz
  • mir einen Witz zu erzählen

Natürlich gibt es noch viele weitere Möglichkeiten, diesen Intent zu aktivieren, aber wir beschränken uns hier auf ein paar essentielle.

Nachdem Du alle Phrasen hinzugefügt hast click oben auf Save Model und anschlieend auf Build Model. Nachdem der Build abgeschlossen ist, navigiere zurück zum Code Tab.

Stap 6: Witze Hinzufügen

Damit unser Skill Witze erzählen kann, benötigen wir ein paar Witze.

Erstelle dazu im lambda Ordner eine neue Datei mit dem Namen jokes.json

Füge volgt in die jokes.json Datei zegt:

["Was ist weiß und guckt durchs Schlüsselloch? Ein Spannbettlaken.", "Welches Getränk trinken Firmenchefs? Leitungswasser.", "Was essen Autos am liebsten? Parkplätzchen.", "Was passiert wenn man Cola und Bier gleichtzeitig Man Cola und Bier gleichtzeitig Man.", "Wie heißt ein Spanier ohne Auto? Carlos", "Was sitzt auf einem Baum und winkt? Ein Huhu!", "Was sagt ein Gen, wenn es ein anderes trifft? Halogen.", "Was ist ein studierter Bauer? Ein Akademiker.", "Ich bin so unentschlossen. Als japanische Krieger wäre ich ein Nunja."]

Natürlich kannst Du selbst noch mehr Witze hinzufügen, zum Testen jedoch sollte es schon funktionieren.

Klik op opslaan en implementeren.

Stap 7: Intent Handler Hinzufügen

Die zuvor erstellen Intents benötigen nun einen Handler, der darauf reagiert, wann die Intents ausgelöst werden sollen. Der NoIntentHanlder beendet den Skill. Der YesIntentHandler, sowie der TellAJokeIntentHandler Antwortet mit einem Witz.

Lees meer HelloWorldIntentHandler op de index.js Datum heraus en füge an der Stelle die nieuwe IntentHandler in:

const TellAJokeIntentHandler = {

canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'TellAJokeIntent'; }, handle (handlerInput) {const jokes = JSON.parse(fs.readFileSync('./jokes.json')); const speakOutput = grappen [Math.floor(Math.random() * jokes.length)]; 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 jokes = JSON.parse(fs.readFileSync('./jokes.json')); const speakOutput = grappen [Math.floor(Math.random() * jokes.length)]; 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é, vielleicht später einmal.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };

Stap 8: Intent Handler Registrieren

Nun müssen nur noch die Intent Handler registriert werden. Scroll naar beneden en naar de index.js Datei.

Ersetze sterft:

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, ().

door das:

exports.handler = Alexa. SkillBuilders.custom()

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

Anschließend klik op de knop Save und Deploy. Nachdem das Deployment abgeschlossen wurde, kannst Du deinen Skill wieder testen.

Stap 9: Vaardigheidstest

  1. Klik op de Test Tab → een nieuw Fenster öffnet sich.
  2. Schreibe of spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.
  3. Schreibe of spreche: "Erzähle mir einen Witz." → der Skill sollte nun einen der Witze erzählen.

Wenn alles funktioniert, kannst du deinen Skill auch schon zertifizieren lassen.

Stap 10: Vaardigheid Vorschau Festlegen Und Zertifizieren Lassen

Skill Vorschau Festlegen Und Zertifizieren Lassen
Skill Vorschau Festlegen Und Zertifizieren Lassen

Alle tekstboxen met deiner persönlichen Beschreibung des Skills aus.

Bei Voorbeeldzinnen schreibe:

  • Alexa, öffne wellustige Witze.
  • Erzähle mir einen Witz.
  • Alexa, frage lustige Witze nach einem Witz.

Sobald du alle verpflichtenden Felder ausgefüllt hast und die Icons hochgeladen hast click auf Opslaan en doorgaan.

Wähle bei Privacy & Compliance, sowie bei Beschikbaarheid die zutreffenden Antworten aus.

Siehe dir vor der Zertifizierung die Checklists voor inzendingen an

Nun musst du ein paar Tests durchlaufen. Dies kann eine Weile dauern.

Anschließend kannst du deinen Skill zur Zertifizierung absenden. Es wird ca. 1-2 Tage dauern, bis zu ein Feedback zu deinem Skill bekommst. Wenn du alles richtig gemacht hast, sollte dein Skill sofort veröffentlicht werden.

Wenn du den Skill jetzt schon ausprobieren möchtest, aber dein Skill noch nicht zertifiziert wurde, kannst du jederzeit diesen Skill verwenden:

skills-store.amazon.de/deeplink/dp/B07ZKH9…

Aanbevolen: