Inhaltsverzeichnis:

So erstellen Sie einen Alexa-Skill: 10 Schritte
So erstellen Sie einen Alexa-Skill: 10 Schritte

Video: So erstellen Sie einen Alexa-Skill: 10 Schritte

Video: So erstellen Sie einen Alexa-Skill: 10 Schritte
Video: Tutorial - So erstellst du in 15 Minuten deinen eigenen Alexa Skill 2024, November
Anonim
So erstellen Sie einen Alexa-Skill
So erstellen Sie einen Alexa-Skill

Was ist ein Alexa-Skill?

Alexa-Skills sind wie Apps. Sie können Skills mit der Alexa-App oder einem Webbrowser auf die gleiche Weise aktivieren und deaktivieren, wie Sie Apps auf Ihrem Smartphone oder Tablet installieren und deinstallieren. Skills sind sprachgesteuerte Alexa-Funktionen. Sie können Ihrem Echo Alexa-Fähigkeiten hinzufügen, um Produkte und Dienste zum Leben zu erwecken. Sie können verfügbare Skills anzeigen und sie mit Ihrer Alexa-App aktivieren oder deaktivieren.

Dieses Tutorial zeigt Ihnen, wie Sie einen Alexa-Skill erstellen.

Ziel:

Ziel ist es, einen Skill zu erstellen, der dem Benutzer jedes Mal ein lustiges deutsches Wort sagt, wenn der Benutzer fragt.

Demo:

Um zu sehen, wie der Skill danach funktionieren soll, können Sie ihn hier testen:

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

Lieferungen

  • Kenntnisse in der Programmierung
  • Grundlagen in Node.js und Javascript

Schritt 1: Erstellen Sie ein Amazon-Entwicklerkonto

Erstellen Sie ein Amazon-Entwicklerkonto
Erstellen Sie ein Amazon-Entwicklerkonto

Sofern Sie kein Amazon-Entwicklerkonto haben, können Sie sich hier anmelden. Ansonsten können Sie sich hier anmelden.

Schritt 2: Erstellen Sie eine neue Fähigkeit

Erstelle eine neue Fähigkeit
Erstelle eine neue Fähigkeit
Erstelle eine neue Fähigkeit
Erstelle eine neue Fähigkeit
  1. Folgen Sie diesem Link:
  2. Klicken Sie rechts auf Skill erstellen. Danach öffnet sich eine neue Seite.
  3. Geben Sie den Namen Ihres Skills (in unserem Fall: Lustige deutsche Wörter) in das Feld Skillname ein.
  4. Stellen Sie die Sprache im Auswahlfeld für die Standardsprache auf Englisch (US) ein.
  5. Wir werden eine benutzerdefinierte Fertigkeit erstellen, also wählen wir das benutzerdefinierte Modell
  6. Bei Wählen Sie eine Methode zum Hosten der Backend-Ressourcen Ihres Skills aus, wählen wir Alexa-Hosted (Node.js).
  7. Wenn Sie fertig sind, klicken Sie auf Skill erstellen
  8. Ein neues Fenster öffnet sich

Schritt 3: Begrüßen Sie den Benutzer

Begrüßen Sie den Benutzer
Begrüßen Sie den Benutzer

Das erste, was ein Benutzer mit Ihrem Skill tut, ist es, ihn zu öffnen. Der Intent, der den Skill öffnet, ist bereits im Beispielcode implementiert und muss nicht mehr hinzugefügt werden.

  1. Öffnen Sie die Registerkarte Code → Das Codefenster mit der Datei index.js öffnet sich

    Jeder Intent-Handler hat zwei Funktionen

    • klar kommen()
    • handhaben()

    Die Funktion canHandle() enthält die Anfrage, auf die der Handler antwortet.

    Die Funktion handle() sendet eine Antwort an den Benutzer.

    Wenn ein Skill eine Anfrage erhält, wird die Funktion canHandle() jedes Intent-Handlers aufgerufen und überprüft, ob er eine Antwort auf diese Anfrage senden kann.

  2. In der handle()-Funktion des LaunchRequestHandlers den gesamten Code löschen und anschließend folgendes einfügen:

    const speakOutput = 'Willkommen bei lustigen deutschen Wörtern. Finden Sie heraus, welche lustigen Wörter die deutsche Sprache zu bieten hat und was sie bedeuten. Möchten Sie ein lustiges Wort hören?';

    const repromptText = 'Möchtest du ein lustiges deutsches Wort hören?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

  3. Klicken Sie auf Speichern und bereitstellen.

Der Help Intent-Handler muss an den Skill angepasst werden. Löschen Sie den Code der Funktion handle() und fügen Sie Folgendes ein:

const speakOutput = 'Finde heraus, welche lustigen Wörter die deutsche Sprache zu bieten hat und was sie bedeuten. Möchten Sie ein lustiges Wort hören?';

const repromptText = 'Möchtest du ein lustiges deutsches Wort hören?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();

Klicken Sie anschließend auf Speichern und bereitstellen.

Schritt 4: Testen Sie die Begrüßung

Testen Sie die Begrüßung
Testen Sie die Begrüßung
Testen Sie die Begrüßung
Testen Sie die Begrüßung

Jedes Mal, wenn Sie mehr Funktionalität in Ihrem Skill haben, testen Sie, ob es wirklich funktioniert, um im Fehlerfall herauszufinden, wo der Fehler liegen könnte.

  1. Klicken Sie auf die Registerkarte Test → Ein neues Fenster öffnet sich.
  2. Aktivieren Sie die Testumgebung, indem Sie im Auswahlfeld Entwicklung auswählen.
  3. Schreibe oder sprich: "offen lustige deutsche Wörter" → 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

Jetzt werden wir Möglichkeiten hinzufügen, wie ein Benutzer mit Ihrem Skill interagieren kann. Absichten ermöglichen es, nach speziellen Phrasen richtig zu reagieren und danach den Korrethandler auszulösen.

  1. Klicken Sie auf die Registerkarte Build → Das Fenster Build wird geöffnet.
  2. Die rechte Navigationsleiste zeigt alle aktivierten Intents. Löschen Sie zunächst die HelloWorldIntent.
  3. Klicken Sie anschließend in der Navigationsleiste neben der Registerkarte Intents auf die Schaltfläche Hinzufügen.

Zunächst fügen wir einige integrierte Intents aus der integrierten Bibliothek von Alexa hinzu

  1. Klicken Sie auf Vorhandenen Intent aus der integrierten Bibliothek von Alexa verwenden
  2. Suchen Sie nach YesIntent und NoIntent und klicken Sie auf Hinzufügen von beiden.

Jetzt fügen wir unseren eigenen benutzerdefinierten Intent hinzu.

  1. Klicken Sie auf Benutzerdefinierten Intent erstellen
  2. Geben Sie der Absicht den Namen TellAFunnyWordIntent
  3. Klicken Sie auf Benutzerdefinierten Intent erstellen

Jetzt werden wir unserer Absicht einige Beispielphrasen hinzufügen. Beispielphrasen sind Phrasen, die der Benutzer vielleicht sagen könnte. Geben Sie einfach diese Beispielsätze ein:

  • Sag mir ein Wort
  • Sag mir ein lustiges deutsches Wort
  • ein Wort
  • ein lustiges Wort
  • um mir ein Wort zu sagen

Natürlich gibt es noch viel mehr Sätze, die der Benutzer sagen könnte. Sie können die Absicht erweitern, wenn Sie möchten, aber wir konzentrieren uns derzeit auf die Funktionalität.

Nachdem Sie die Phrasen hinzugefügt haben, klicken Sie auf Modell speichern und anschließend auf Modell erstellen. Navigieren Sie nach Abschluss des Builds zurück zur Registerkarte Code.

Schritt 6: Lustige Wörter hinzufügen

Damit unsere Fähigkeit lustige Wörter sagt, braucht sie zuerst einige lustige Wörter.

Erstellen Sie dazu eine neue Datei namens words.json im Lambda-Ordner.

Fügen Sie diese Wörter in die Datei words.json ein:

[{ "word": "Lebensabschnittpartner", "explanation": "Dieses Wort wird am ehesten als eine weitere Option für Partner oder Liebhaber beschrieben, aber mit einer vorübergehenderen Wendung." }, { "word": "Unabhängigkeitserklärungen", "explanation": "Dieses Wort beschreibt die Unabhängigkeitserklärung." }, { "word": "Freundschaftsbezeugung", "explanation": "Es ist die Demonstration der Freundschaft." }, { "word": "Rechtsschutzversicherungsgesellschaften", "explanation": "Das Guinness-Buch der Rekorde erkennt dieses schwerfällige Wort als das längste deutsche Wort im Alltagsgebrauch an. Es bedeutet Versicherungsgesellschaften, die Rechtsschutz bieten." }, { "word": "Kaftfahrzeug-Haftpflichtversicherung", "explanation": "Es handelt sich um eine Kfz-Haftpflichtversicherung." }, { "word": "Donaudampfschiffahrtsgesellschaftskapitän", "explanation": "Dieses Wort setzt das Thema Transport fort und besteht aus vier säuberlich zusammengesetzten Wörtern, um Kapitän der Donaudampfschifffahrtsgesellschaft zu sagen." }]

Natürlich können Sie weitere Wörter hinzufügen, wenn Sie welche kennen. Aber zum Testen sollte es schon funktionieren.

Klicken Sie erneut auf Speichern und bereitstellen.

Schritt 7: Intent-Handler hinzufügen

Die zuvor erstellten Intents benötigen nun einen Handler, der durch einen Intent ausgelöst wird. Der NoIntentHandler schließt den Skill. Der YesIntentHandler und der TellAFunnyWordIntentHandler antworten mit einem lustigen Wort und seiner Erklärung.

Löschen Sie den gesamten HelloWorldIntentHandler aus der Datei index.js und fügen Sie stattdessen drei neue hinzu:

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 word = words[Math.floor(Math.random() * words.length)]; const speakOutput = Wort. Wort + '. ' + Wort. Erklärung; 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 word = words[Math.floor(Math.random() * words.length)]; const speakOutput = Wort. Wort + '. ' + Wort. Erklärung; 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 ein andermal.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };

Schritt 8: Registrieren Sie die Intent-Handler

Jetzt müssen wir die neuen Intent-Handler registrieren. Scrollen Sie dazu zum Ende der Datei index.js.

Ersetzen Sie dies:

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();

damit:

exports.handler = Alexa. SkillBuilders.custom()

.addRequestHandlers(LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // sicherstellen, dass IntentReflectorHandler zuletzt ist, damit Ihr custom.

Klicken Sie anschließend erneut auf Speichern und bereitstellen. Nachdem die Bereitstellung abgeschlossen ist, testen Sie die Fertigkeit erneut.

Schritt 9: Testen Sie die Fähigkeit

  1. Klicken Sie auf die Registerkarte Test → Ein neues Fenster öffnet sich.
  2. Schreibe oder sprich: "offen lustige deutsche Wörter" → Der Skill sollte nun mit der Begrüßung antworten.
  3. Schreibe oder sprich: „Erzähl mir ein lustiges deutsches Wort“→ Der Skill sollte nun eines der Wörter sagen.

Wenn alles funktioniert, können Sie Ihren Skill bereits einreichen.

Schritt 10: Fertigkeitsvorschau einstellen und zur Überprüfung einreichen

Fertigkeitsvorschau einstellen und zur Überprüfung einreichen
Fertigkeitsvorschau einstellen und zur Überprüfung einreichen

Füllen Sie alle erforderlichen Textfelder mit Ihrer persönlichen Beschreibung des Skills aus.

Schreiben Sie unter Beispielsätze:

  • Alexa, öffne Lustige deutsche Wörter.
  • Alexa, bitte Funny German Words, mir ein lustiges Wort zu sagen.

Nachdem Sie alle erforderlichen Felder ausgefüllt und die Icons hochgeladen haben, klicken Sie auf Speichern und fortfahren.

Wählen Sie die richtigen Antworten unter Datenschutz & Compliance und unter Verfügbarkeit.

Bitte werfen Sie vor dem Absenden einen Blick in die Checkliste für die Einreichung

Jetzt müssen Sie einige Tests durchführen. Dies kann eine Weile dauern.

Anschließend können Sie Ihren Skill zur Überprüfung einreichen. Es dauert 1 oder 2 Tage, bis Sie Feedback zu Ihrem Skill erhalten. Wenn Sie alles richtig gemacht haben, wird Ihr Skill direkt nach der Überprüfung veröffentlicht.

Wenn Sie den Skill bereits ausprobieren möchten, er sich aber noch in der Zertifizierung befindet, können Sie diesen Skill jederzeit verwenden:

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

Empfohlen: