Inhaltsverzeichnis:

Alexa Skill erstellen (German - English): 10 Schritte
Alexa Skill erstellen (German - English): 10 Schritte

Video: Alexa Skill erstellen (German - English): 10 Schritte

Video: Alexa Skill erstellen (German - English): 10 Schritte
Video: Dein eigener Alexa-Skill! So entwickelst du ihn kostenlos mit dem Tool "Voiceflow" | AdvenTOOLender 2024, Juli
Anonim
Alexa Skill erstellen (English | English)
Alexa Skill erstellen (English | English)

Was ist ein Alexa Skill?

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

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

Ziel:

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

Demo:

Um zu sehen, wie der Skill nachher funktionieren soll, gibt es hier bereits eine Demo:

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

Dieser Skill kann gerne getestet werden.

Lieferungen

  • Programmierkenntnisse
  • Kenntnisse in Node.js

Schritt 1: Erstellen eines Amazon-Entwicklerkontos

Eines Amazon-Entwicklerkonten erstellen
Eines Amazon-Entwicklerkonten erstellen

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

Schritt 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. Klicke auf den Create Skill Button auf der rechten Seite. 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 Default language auf Deutsch (DE).
  5. Wir möchten einen Custom-Skill erstellen, also wählen wir beim Model Custom aus.
  6. Wähle bei Wähle eine Methode zum Hosten der Backend-Ressourcen deines Skills das zweite, auch Alexa-Hosted (Node.js) aus.
  7. Nachdem Du alles ausgewählt hast, klicke oben rechts auf Skill erstellen.
  8. Ein neues Fenster öffnet sich

Schritt 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 Datei öffnet sich.

    Jeder Intent Handlet hat zwei Funktionen:

    • klar kommen()
    • handhaben()

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

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

    If your Skill eine Anfrage empfängt, so WIRD in der canHandle() Funktion nachgesehen, ob der Handler of this request response can.

  2. In der handle() Funktion des LaunchRequestHandlers lösche den gesamten Code heraus und füge nachfolgend zu Beginn folgendes ein:

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

    const repromtText = 'Möchtest du einen Witz hören?';

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

    return handlerInput.responseBuilder

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

Klicken Sie auf Speichern und anschließend auf Bereitstellen

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

Bei following Handlern muss der Wert der speakOutput Variable auf deutsch umgeschrieben werden:

  • HilfeIntentHandler

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

    const repromtText = 'Möchtest du einen Witz hören?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromtText).getResponse();

  • CancelAndStopIntentHandler

    const speakOutput = 'Bis kahl!';

  • IntentReflectorHandler

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

  • ErrorHandler

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

Zum Schluss immer auf Speichern und anschließend auf Bereitstellen klicken.

Schritt 4: Begrüßungstesten

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

Immer nach Du Eine Funktion zu Deinem Skill hinzugefügt hast, solltest Du this unbedingt, damit Du testen, fällt ein Fehler auftritt ungefähr weißt, wo der Fehler könnte liegen.

  1. Klicke auf den Test Tab → ein neues Fenster öffnet sich.
  2. Aktiviere das Testen, du in der Select-Box Entwicklung auswählst.
  3. Schreibe oder spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.

Schritt 5: Absichten hinzufügen

Absichten hinzufügen
Absichten hinzufügen
Absichten hinzufügen
Absichten hinzufügen
Absichten hinzufügen
Absichten hinzufügen

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

  1. Klicke auf den Build Tab → das Build Fenster öffnet sich.
  2. Rechts in der Navigationsleiste steht bei Intents der HelloWorldIntent. Diese löschen wir zu Beginn.
  3. Klicken Sie bitte auf den Add Button neben der Intents-Leiste.

fügen wir bereits von vordefinierten Amazon Intents hinzu.

  1. Klicke dazu auf Vorhandenen Intent aus Alexas integrierter Bibliothek verwenden
  2. Suche nach YesIntent und NoIntent und klicke bei beiden auf add

Nun fügen wir unserer eigenen Absicht hinzu.

  1. Klicken Sie dazu auf Benutzerdefinierten Intent erstellen
  2. Gib dem Intent den Namen TellAJokeIntent
  3. Klicken Sie auf Benutzerdefinierten Intent erstellen

Jetzt fügen wir ein paar Beispielphrasen zu unserer Absicht hinzu, also 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 sind hier auf ein paar essentielle Dinge gegeben.

Nachdem Sie alle Phrasen hinzugefügt haben, klicken Sie oben auf Modell speichern und anschließend auf Modell erstellen. Nachdem der Build abgeschlossen ist, navigiere zurück zum Code Tab.

Schritt 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 Witze.json

Füge folgendes in die jokes.json Datei ein:

["Was ist weiß und guckt durchs Schlüsselloch? Ein Spannbettlaken.", "Welches trinken trinken Firmenchefs? Leitungswasser.", "Was essen Autos am liebsten? Parkplätzchen.", "Was passiert wenn man Cola und Bier gleichzeitig trinkt? Man kollabiert.", "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 japanischer Krieger wäre ich ein Nunja."]

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

Klicken Sie wieder auf Speichern und bereitstellen.

Schritt 7: Intent-Handler hinzufügen

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

Lösche den gesamten HelloWorldIntentHandler aus der index.js Datei heraus und füge an der Stelle die neuen drei IntentHandler ein:

const TellAJokeIntentHandler = {

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

Schritt 8: Intent Handler Registrieren

Nun müssen nur noch sterben Intent Handler registriert werden. Scrolle dazu bis ans Ende der index.js Datei.

Ersetze stirbt:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // Stellen Sie sicher, dass IntentReflectorHandler zuletzt ist, damit es Ihre benutzerdefinierten Absichtshandler nicht überschreibt).addErrorHandlers();

durch das:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, TellAJokeIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // Stellen Sie sicher, dass IntentReflectorHandler zuletzt ist.

Klicken Sie anschließend wieder auf Save and Deploy. Nachdem das Deployment abgeschlossen wurde, kannst Du deinen Skill wieder testen.

Schritt 9: Fähigkeitstesten

  1. Klicke auf den Test Tab → ein neues Fenster öffnet sich.
  2. Schreibe oder spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.
  3. Schreibe oder 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.

Schritt 10: Skill Vorschau Festlegen Und Zertifizieren Lassen

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

Fülle alle Textboxen mit deiner persönlichen Beschreibung des Skills aus.

Bei Beispielsätzen schreibe:

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

Sobald du alle eingegebenen Felder ausgefüllt hast und die hochgeladenen Icons hast, klicke auf Speichern und fortfahren.

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

Siehe dir vor der Zertifizierung die Checklisten für die Einreichung an

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

Dann 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…

Empfohlen: