webinale Blog

Alexa und PHP – ein Dream-Team?

Einführung in Alexa Skills

Apr 4, 2018

Digitale Sprachassistenten sind derzeit in aller Munde, und viele Anbieter drängen gerade auf den Markt. Amazon mischt dabei mit Echo und Alexa ganz vorne mit. Doch wir stehen erst am Anfang der Entwicklung, denn die Fähigkeiten von Alexa können durch sogenannte Skills erweitert werden. Wie das geht und wie Sie auch PHP für die Entwicklung von Alexa Skills für Amazon Echo und Echo Dot einsetzen können, erfahren Sie in diesem Artikel.

Der Markt für digitale Sprachassistenten ist stark in Bewegung. Neben Amazon mit Alexa sind auch Google mit Google Home, Apple mit Siri oder Microsoft mit Cortana am Ball. Und auch Facebook hat für Ende 2017 ein eigenes Endgerät angekündigt. Auf dem deutschen Markt hat sich derzeit (Ende Juli 2017) nur Amazon etabliert. Der Start von Google Home war für Anfang August 2017 geplant. Siri auf dem iPhone und Cortana auf Windows 8 und 10 sind zwar verfügbar, aber eben in Deutschland noch auf keinem digitalen Sprachassistenten, den man sich ins Wohnzimmer stellen kann. Deshalb liegt der Fokus dieses Artikels auf Amazons Alexa. Wenn im Folgenden vom Amazon Echo gesprochen wird, sind auch der Echo Dot und der Echo Show gemeint.

Eine kurze Einführung in Alexa

Ein digitaler Sprachassistent wie der Amazon Echo kann Ihnen sowohl im Haus als auch im Büro einige Arbeit abnehmen. Sie können ihn nach dem Wetter oder den neuesten Nachrichten fragen, Blumen oder eine Pizza bestellen und sogar Spiele spielen. Wenn Sie mit beiden Armen tief im Kuchenteig stecken, können Sie Alexa auch fragen, welche Zutat die nächste ist. Sowohl die Eingabe durch Sie als Nutzer als auch die Ausgabe erfolgt über die Sprache. Mit jeder Frage und mit jeder Aufgabe, die Sie stellen, verbessern sich zukünftige Antworten. Die Idee dahinter ist, dass Alexa mit der Zeit immer intelligenter wird und quasi bei intensiver Nutzung stetig dazu lernt.

Entdecken Sie den Voice Assistants Track der webinale!

 

Die Fähigkeiten von Alexa lassen sich durch die Alexa Skills erweitern. Amazon stellt dafür mit dem Alexa Skills Shop eine entsprechende Plattform bereit. Dies funktioniert ähnlich wie mit den Apps auf dem Smartphone oder den klassischen Programmen auf Ihrem Notebook. Amazon unterstützt die Entwickler durch ausführliche Dokumentation, Tutorials, Codebeispiele und lokale Events. Das Alexa Skills Kit ist quasi das Frontend des Skills, in dem dieser definiert und konfiguriert wird. Das Backend und damit der eigentliche Skill-Code kann auf einer Lambda Function auf den Amazon Web Services (kurz AWS) oder einem eigenen Server als HTTPS-Endpunkt betrieben werden. Die Lambda Functions auf AWS bieten für die Programmiersprachen Java, C#, Node.js und Python entsprechende Runtimes, die die Entwicklung der Skills mit diesen Programmiersprachen stark vereinfachen. Auf einem eigenen HTTPS-Endpunkt können Sie jedoch mit der Programmiersprache Ihrer Wahl arbeiten – somit auch mit PHP.

Generell verläuft die Verarbeitung einer Abfrage über Amazon Echo in mehreren Schritten:

  • Der Nutzer sagt zu Amazon Echo das Schlüsselwort „Alexa“, gefolgt einem Sprachbefehl.
  • Diese Aufnahme wird von Amazon Echo an die Amazon-Alexa-Service-Plattform gesendet.
  • Die Spracherkennung der Amazon-Alexa-Service-Plattform verarbeitet die Anfrage und versucht, die Intention des Nutzers zu erkennen.
  • Die Amazon-Alexa-Service-Plattform erstellt daraus einen JSON Request, der dann zum eigentlichen Skill-Code gesendet wird. Dies kann eine AWS-Lambda-Funktion oder ein anderer HTTPS-Endpunkt sein.
  • Der Skill-Code verarbeitet die Anfrage und generiert eine JSON Response, die an die Alexa-Service-Plattform zurückgeschickt wird.
  • Die Amazon-Alexa-Service-Plattform wandelt den Text der JSON Response wieder in Sprache um und sendet sie an Amazon Echo.
  • Außerdem kann an die begleitende Smartphone-App noch eine Response Card mit weiteren Infos gesendet werden, die von der App dargestellt wird.
  • Der Amazon Echo spielt die übermittelte Antwort ab, sodass der Nutzer sie hören kann.

Es liegt auf der Hand, dass diese einzelnen Schritte sehr schnell vonstattengehen müssen. Eine schnelle Internetleitung ist dabei genauso wichtig wie ein schneller Server, auf dem der Skill-Code läuft. Die Performance Ihres Skills ist dabei essenziell.

Planungen für Ihren ersten Skill

Bevor Sie in die Entwicklung Ihres ersten Alexa Skill einsteigen können, sollten Sie sich Gedanken machen, was Sie genau entwickeln wollen. Der wichtigste Tipp hierbei ist, dass Sie Ihren ersten Skill immer möglichst einfach halten sollten. Je komplexer Sie zu Beginn denken, desto größer die Gefahr, dass Sie sich verzetteln und elementare Fehler machen. Deshalb hier ein einfacher Vorschlag, den wir in diesem Artikel zusammen umsetzen können.

Noch mehr Expertentipps mit unserem kostenlosen Newsletter

Neben der Idee für den Skill brauchen Sie einen Namen sowie einen Aufrufnamen (Invocation Name). Name und Aufrufname können identisch sein, und es empfiehlt sich auch, sie identisch zu halten, damit die Nutzer ihn sich leichter merken können. Beim Aufrufnamen gibt es aber einige Einschränkungen. Er muss in Deutschland aus mindestens zwei Worten bestehen – es sei denn, es handelt sich um einen Markennamen und Sie sind Inhaber dieser Marke. Dass der Aufrufname nicht gegen geltendes Recht verstoßen darf, versteht sich von selbst. Weitere Details finden Sie in der Dokumentation. Um den Skill zu starten, muss Alexa dieser Aufrufname zusammen mit dem Aktivierungswort genannt werden. Dies könnte so aussehen, wobei „Alexa“ das Aktivierungswort und „mein Skill“ der Aufrufname ist: Alexa, starte mein Skill.

Der Skill „Mein Zoo“ kennt sich mit Tieren aus. Sie können Alexa nach einem Tier im Zoo fragen und Alexa antwortet dann mit einem zufällig ausgewählten Tier aus einer vorliegenden Liste. Das klingt trivial, aber bei der Implementierung lernen Sie die wichtigsten Grundlagen der Alexa-Programmierung kennen. Später können Sie den Skill ausbauen, indem Sie gezielt nach einem Vogel oder einem Säugetier fragen. Für Ihren ersten Skill „Mein Zoo“ nehmen Sie als Aufrufnamen denselben Namen in Kleinbuchstaben: „mein zoo“.

Wenn Sie einen neuen Skill entwickeln, sollten Sie zu Beginn immer mehrere Beispieldialoge aufschreiben. Das hilft Ihnen bei der Planung und Konzeption. Ein solcher Dialog könnte wie folgt aussehen:

Nutzer: „Alexa, starte mein Zoo.“
Alexa: „Willkommen in deinem Zoo.“
Nutzer: „Nenne mir ein Tier aus meinem Zoo!“
Alexa: „Ein Elefant lebt in deinem Zoo!“
Nutzer: „Gibt es weitere Tiere in meinem Zoo?“
Alexa: „Eine Giraffe lebt in deinem Zoo!“
Nutzer: „Welchen Vogel gibt es noch in meinem Zoo?“
Alexa: „Ein Papagei lebt in deinem Zoo!“
Nutzer: „Danke Alexa!“
Alexa: „Bitte!“

Sie sollten Ihre Beispieldialoge im Vorfeld so detailliert wie möglich notieren und auch viele Varianten einplanen, sowohl bei den Befehlen und Fragen des Nutzers als auch bei den Antworten von Alexa. Auch sollten Sie für jedes Szenario einen oder mehrere eigene Beispieldialoge aufschreiben. Hier eine Variante, mit der der Skill direkt nach einem Tier gefragt werden kann:

Nutzer: „Alexa, frage mein Zoo nach einem Tier aus meinem Zoo.“
Alexa: „Ein Elefant lebt in deinem Zoo!“

Oder an dieser Stelle noch ein anderes Szenario, bei dem Sie nach der Anzahl der Tiere fragen:

Nutzer: „Alexa, starte mein Zoo.“
Alexa: „Willkommen in deinem Zoo.“
Nutzer: „Wie viele Tiere leben in meinem Zoo?“
Alexa: „In deinem Zoo leben 42 Tiere!“
Nutzer: „Danke Alexa!“
Alexa: „Bitte!“

Nach diesen rudimentären Vorbereitungen können Sie mit der eigentlichen Entwicklung beginnen. Sie sollten aber vorher schon einmal einen eigenen Server einrichten und diesen per HTTPS schützen. Dies erleichtert Ihnen die Prüfung der Konfiguration, ohne dass der Skill-Code im Backend schon fertig ist. Im Folgenden gehen wir davon aus, dass Sie die Adresse https://www.mein-skillserver.de/ verwenden möchten.

Begriffe in der Skill-Entwicklung

Es gibt ein paar Fachbegriffe in der Skill-Entwicklung, mit denen Sie sich vertraut machen sollten:

  • Ein Intent ist eine bestimmte Aktion oder auch Intention, die vom Skill ausgeführt werden soll. Dies können eingebaute Intents sein, wie z. B. zum Abbrechen oder für eine Hilfe. Es können aber auch eigene Intents sein. Für den Skill „Mein Zoo“ wäre das Nennen eines Tieres ein AnimalIntent, die Berechnung der Anzahl aller Tiere wäre ein CountIntent.
  • Die Utterances oder auch Äußerungen sind als Beispielsätze zu verstehen, mit denen ein bestimmter Intent angestoßen werden soll. Sie müssen hierbei nicht alle möglichen Formulierungen und Varianzen angeben, da Alexa mögliche Abweichungen auch selber erkennen kann. Sie sollten aber dennoch möglichst viele unterschiedliche Phrasen und Sätze verwenden. Bezogen auf den Skill „Mein Zoo“ wäre der Satz „Nenne mir ein Tier aus meinem Zoo!“ eine Äußerung, die den AnimalIntent anstoßen soll.
  • Unter den Slot Types sind Platzhalter zu verstehen, die Sie in die Utterances einbauen können und deren Wert dann an den Intent übergeben werden kann. Diese Slot Types stellen im Wesentlichen eine Liste von Optionswerten dar, die Sie fest vorgeben können. Alexa bietet auch eingebaute Slot Types z. B. für Nummern, Datum, Zeiten, Städte, Regionen, Länder, Vornamen, Farben und vielem mehr. Eine Liste aller vorhandenen und zukünftigen Slot Types finden Sie in der Dokumentation.

Begriffe in der Skill-Entwicklung

Um das Alexa Skills Kit nutzen zu können, benötigen Sie einen Amazon-Developer-Account. Die Anmeldung bei einem vorhandenen Account sowie das Registrieren eines neuen Accounts können Sie auf der Anmeldeseite für das Amazon-Developer-Portal durchführen. Nach dem Anmelden sollten Sie auf dem Dashboard landen, das wie in Abbildung 1 aussehen sollte. Nun klicken Sie oben in der Navigation auf Alexa und starten danach das Alexa Skills Kit. Während es schon einiges an deutschsprachiger Dokumentation gibt, ist die Oberfläche im Alexa Skills Kit auf Englisch gehalten. Um einen neuen Skill anzulegen, klicken Sie auf den Add a New Skill-Button oben rechts.

Abb. 1: Dashboard im Amazon-Developer-Portal

 

Für die Konfiguration des Skills gibt es sieben Abschnitte, die Sie durchlaufen müssen. Unter Skill Information wählen Sie Skill Type. Für den Skill „Mein Zoo“ sollten Sie den Typ Custom Interaction Model anklicken. Als Nächstes wählen Sie die Sprache aus und geben den Namen Mein Zoo und den Invocation Name mein zoo ein. Die Angaben für Global Fields können Sie alle auf der Option No belassen. Speichern Sie die Angaben; nach dem Neuladen der Seite sollte die Ansicht in etwa wie in Abbildung 2 aussehen. Achten Sie besonders darauf, das für Ihren neuen Skill nun eine Application Id ermitteln worden ist. Diese brauchen Sie später noch. Klicken Sie nun auf den Next-Button.

Im Interaction Model definieren Sie die Intents, die Slot Types und die Sample Utterances. Dies können Sie manuell in Form eines JSON Schemas für die Intents oder Listen für die Slot Types und Sample Utterances machen. Komfortabler ist der Einsatz des Skill Builders. Nach dem Start ändert sich die Oberfläche. Legen Sie nun einen neuen Intent an, den Sie AnimalIntent nennen. Nun können Sie für diesen Intent die Sample Utterances eingeben, z. B. „Nenne mir ein Tier aus meinem Zoo“, „Gibt es weitere Tiere in meinem Zoo“ oder „Welches Tier gibt es noch in meinem Zoo“. Tragen Sie ruhig noch weitere Utterances für diesen Intent ein. Abbildung 3 zeigt, wie dieser AnimalIntent aussehen könnte. Legen Sie danach noch einen zweiten Intent an. Dieser sollte CountIntent heißen, mögliche Sample Utterances wären „Sage mir die Anzahl der Tiere“ oder „Wie viele Tiere leben in meinem Zoo“. Danach klicken Sie erst oben auf Save Model, danach auf Build Model. Nun müssen Sie ein paar Minuten warten, bis das Model erstellt worden ist. Im Code Editor können Sie sich links übrigens Ihr Intent-Schema als JSON genauer anschauen (Listing 1). Ganz wichtig: Entfernen Sie nicht die drei voreingestellten Standard-Intents AMAZON.CancelIntent, AMAZON.HelpIntent und AMAZON.StopIntent. Diese sollten auf jeden Fall von Ihrem Skill-Code verarbeitet werden können. Wenn das Speichern beendet ist, klicken Sie oben auf Configuration.

Unter Configuration sind Sie zurück in der alten Oberfläche. Da Sie keine AWS-Lambda-Funktion verwenden möchten, wählen Sie bei Service Endpoint Type die Option HTTPS. Nun wählen Sie die geografische Region des Servers aus, z. B. Europa, und tragen unten die Adresse Ihres Servers ein, z. B. https://www.mein-skillserver.de/. Wenn Sie nicht für jeden Skill eine eigene Second-Level-Domain verwenden wollen, können Sie auch mit Subdomains oder mit Verzeichnissen arbeiten, z. B. mit https://zoo.mein-skillserver.de/ oder mit https://www.mein-skillserver.de/zoo/. Wichtig ist, dass der Server bereits läuft und über HTTPS erreichbar ist. Ihr Skill-Code muss noch nicht darauf laufen. Wenn Sie hier einen nicht vorhandenen Server angeben, kann es sogar sein, dass Sie einen Out of Date-Fehler erhalten und sich im Amazon-Developer-Portal noch einmal neu einloggen müssen. Wenn das Speichern geklappt hat, können Sie die anderen Parameter so belassen und durch den Klick auf Next zum nächsten Schritt gelangen.

Unter SSL Certificate geben Sie Details zu dem eingesetzten SSL-Zertifikat an. Hier finden Sie auch Links mit weiteren Informationen. Nach der Angabe speichern Sie die Seite und weiter geht es mit Next zum nächsten Schritt.

Auf der Seite Test können Sie Ihren Skill testen. Sie müssen dafür nur kurz das Testen des Skills einschalten. Hier können Sie einmal den Voice Simulator ausprobieren, um Texte von Alexa aussprechen zu lassen. Geben Sie dort einfach mal den Satz „In deinem Zoo gibt es einen Elefanten“ ein, um zu hören, wie Alexa diesen aussprechen würde. Im Service Simulator können Sie den Skill schon einmal testen, auch wenn der Skill-Code noch gar nicht existiert. Geben Sie im Reiter Text den Satz „Alexa starte mein Zoo“ ein und klicken Sie dann auf Ask Mein Zoo. Der Service Simulator erstellt nun den JSON-Service-Request, der an Ihren Endpunkt geschickt werden würde. Da dieser noch nicht fertig ist, lautet die lapidare Antwort „There was an error calling the remote endpoint, which returned HTTP 500: Internal Server Error“. Geben Sie auch mal die Beispielsätze „Welches Tier gibt es noch in meinem Zoo?“ oder „Wie viele Tier leben in meinem Zoo?“ ein und schauen Sie sich an, wie sich der JSON-Service-Request verändert. Details zum Format der Service-Requests finden Sie auch in der Dokumentation.

Der vorletzte Schritt ist Publishing Information. Hier weisen Sie dem Skill eine Kategorie zu, geben Hinweise zum Testen des Skills für das Zertifizierungsteam, tragen eine kurze und eine ausführliche Beschreibung ein, geben die drei wichtigsten Beispielphrasen für die Interaktion mit Ihrem Skill an und können ein großes und ein kleines Logo eintragen. Auf dieser Seite sollten Sie viel Sorgfalt walten lassen, weil diese Informationen Ihren Skill den Nutzern schmackhaft machen sollen. Details dazu folgen im nächsten Abschnitt über den Freigabeprozess.

Der letzte Schritt Privacy & Compliance betrifft Angaben zur Privatsphäre und weitere Details. Außerdem können Sie URLs für eine Seite zu den Nutzungsbedingungen Ihres Skills und der Datenschutzerklärung angeben. Es stärkt auf jeden Fall das Vertrauen der potenziellen Nutzer, wenn Sie beide Informationsseiten für Ihren Skill bereitstellen.

Gerade die letzten beiden Schritte werden erst bei der Veröffentlichung Ihres Skills relevant. Damit sollten Sie sich sehr ausführlich befassen, wenn Ihr Skill-Code fertig entwickelt und getestet ist. Andernfalls ist eine Freischaltung Ihres Skills nicht sinnvoll.

Abb. 2: Ansicht der Skill-Information

 

Abb. 3: So könnte „AnimalIntent“ aussehen

 

{
  "intents": [
    {
      "name": "AMAZON.CancelIntent",
      "samples": []
    },
    {
      "name": "AMAZON.HelpIntent",
      "samples": []
    },
    {
      "name": "AMAZON.StopIntent",
      "samples": []
    },
    {
      "name": "AnimalIntent",
      "samples": [
        "Welches Tier gibt es noch in meinem Zoo",
        "Welchen Tier gibt es noch in meinem Zoo",
        "Nenne mir einen Tier aus meinem Zoo"
      ],
      "slots": []
    },
    {
      "name": "CountIntent",
      "samples": [
        "Wie viele Tier leben in meinem Zoo",
        "Sage mir die Anzahl der Tiere"
      ],
      "slots": []
    }
  ]
}

 

Freigabeprozess

An dieser Stelle greifen wir schon ein wenig vor, denn der Skill-Code für Ihren ersten Skill steht noch nicht. Dennoch ist es elementar wichtig, dass Sie den Freigabeprozess kennen und verstanden haben, worauf es ankommt. Nicht wenige Entwickler haben die Erfahrung gemacht, dass ihr Skill nicht sofort vom Amazon-Alexa-Team akzeptiert wurde und sie somit mehrfach nachbessern mussten. Im vorherigen Abschnitt haben Sie unter Publishing Information sowie Privacy & Compliance erfahren, dass diese Informationen für den Freigabeprozess sehr wichtig sind. Auch Fehler bei den Informationen unter Skill Information können zu einer Ablehnung führen.

Wie bereits oben erwähnt, muss der Invocation Name aus zwei Worten bestehen und darf nur einen Markennamen enthalten, wenn Sie Eigner dieser Marken sind. Mein erster Skill Empfangsdame ist übrigens im März 2017 abgelehnt worden, weil ich denselben Namen auch als Aufrufnamen verwenden wollte. Deshalb musste ich den Aufrufnamen auf gäste empfang ändern. Den Namen des Skills auch abändern wollte ich nicht, aber unterschiedliche Namen für den Skill und den Aufruf sind auch nicht optimal. Sie sollten sich somit zu Beginn ausführliche Gedanken auch zu diesen beiden Namen machen, um Fehler zu vermeiden.

Um den Freigabeprozess zu beschleunigen, geben Sie möglichst detaillierte Anweisungen bei Testing Instructions an. Diese Angaben sind explizit für das Zertifizierungsteam gedacht und werden nicht veröffentlicht. Dort können Sie unter anderem angeben, wenn spezielle Hardware erforderlich ist, was in der Regel auf Smart Home Skills zutrifft. Bei Custom Skills wird dies relevant, wenn sich Ihr Skill mit einem Account verbinden soll. Bei den Ländern und Regionen sollten Sie einen deutschsprachigen Skill möglichst nur in Ländern veröffentlichen, in denen die deutsche Sprache gesprochen wird. Dies ist auf den ersten Blick logisch, wird aber auch manchmal falsch gemacht. Möchten Sie Ihren Skill international verfügbar machen, so sollten Sie ihn ins Englische übersetzen. Zukünftig werden sicher auch weitere Sprachen neben Deutsch und Englisch unterstützt. Also sollten Sie ein Auge darauf haben, wenn Sie eine möglichst große Reichweite erzielen möchten.

Die Kurzbeschreibung wird vor allem in der Alexa-App verwendet, während die lange Beschreibung auch im Alexa-Skill-Shop auf der Amazon-Website erscheint. Beschreiben Sie hier Ihren Skill so knapp aber so ausführlich wie möglich. Gerade komplexere Skills sollten mehr Informationen in der langen Beschreibung beinhalten, damit der Nutzer zurechtkommt. Beschreiben Sie auf jeden Fall möglichst alle Kommandos, die in Ihrem Skill verwendet werden können und erläutern Sie auch den Ablauf bei Skills, die interaktiv sind. Sie sollten es aber auch nicht übertreiben und einen simplen Skill mit zu viel Text beschreiben.

Bei den Beispielphrasen können Sie auch in einige Fallen tappen. Wenn Sie hier eine Phrase angeben, die nicht einwandfrei funktioniert oder verstanden wird, senken Sie die Wahrscheinlichkeit für die Freigabe Ihres Skills auf ein Minimum. Geben Sie hier verschiedene Möglichkeiten an, wie Ihr Skill genutzt werden kann. Ignorieren Sie auf keinen Fall die Tipps zu den Beispielphrasen, die direkt darunter angezeigt werden und auch ein paar Beispiele beinhalten. Die Keywords dienen dem besseren Auffinden Ihres Skills. Geben Sie sie in einer kommaseparierten Liste an. Auch hier sollten Sie nicht übertreiben und nur Keywords verwenden, die auch tatsächlich Ihren Skill sinnvoll beschreiben. Das in der Vergangenheit aus der Suchmaschinenoptimierung bekannte Keyword Stuffing sollten Sie hier tunlichst vermeiden.

Bei den Images sollten Sie darauf achten, dass Sie transparente PNGs verwenden und die Größen von 108 x 108 bzw. 512 x 512 Pixel exakt umsetzen. Wichtig ist aber vor allem, dass die Icons rund angezeigt werden. Wenn Sie dies in Ihren Icons nicht berücksichtigen, könnten Bereiche des Bilds bei der Darstellung abgeschnitten werden. Bei dem Motiv sind Sie eigentlich frei, sie sollten aber zu komplexe Motive vermeiden. Teilweise werden die Icons auch in 82 x 82 Pixel angezeigt. Zu komplexe Motive können dann kaum noch erkennbar sein.

Bei den Einstellungen zur Privatsphäre werden Sie unter anderem gefragt, ob Nutzer ihres Skills einkaufen oder echtes Geld im Skill ausgeben können, ob Sie persönliche Daten sammeln, ob sich der Skill explizit an Kinder unter 13 Jahren richtet oder ob er Werbung enthält. Hier sollten Sie auf jeden Fall ehrlich antworten, auch wenn dies zu einer Ablehnung Ihres Skills führen kann. Ein Mathetrainer für Grundschüler oder ein Skill mit dem einzigen Daseinszweck, Werbung zu verbreiten, wird sicher kaum eine Chance haben, in den Alexa-Skill-Shop aufgenommen zu werden. Sie können die Chancen auf eine Freigabe auch erhöhen, wenn Sie mit ausgewählten Nutzern einen Betatest machen. Haben Sie Bekannte, die auch Amazon Echo haben? Dann laden Sie sie zum Betatest ein. Meistens reichen drei bis fünf Nutzer, die den Betatest ernst nehmen, um den Großteil der möglichen Fehler in der Anwendung Ihres Skills zu finden.

Wenn Sie alle Angaben sorgfältig gemacht haben und Ihr Skill-Code ausreichend getestet ist, dann können Sie die Zertifizierung beantragen. Nachdem Sie den Skill abgeschickt haben, prüft das Zertifizierungsteam Ihren Skill intensiv. Je nach Aufkommen neuer Skills und der Komplexität Ihres Skills kann es einige Stunden bis Tage dauern, bis Ihr Skill abgelehnt oder freigegeben wird. Bei einer Freigabe ist alles im Lot und Ihr Skill landet nach wenigen Stunden im Skill-Shop.

Bei einer Ablehnung haben Sie die Möglichkeit, nachzubessern. Lesen Sie sich die Hinweise genau durch und versuchen Sie, die Probleme zu lösen. Versuchen Sie nicht, sich irgendwie durchzuwinden. Es gab Fälle, in denen Entwickler ihren Skill drei bis viermal anmelden mussten, da sie die Anmerkungen des Zertifizierungsteams nicht genau genug befolgt haben.

Vorschau auf Teil 2

Somit sind wir am Ende dieses ersten Teils unserer zweiteiligen Artikelserie angelangt. Sie haben erfahren, wie Alexa im Allgemeinen funktioniert und wie Sie einen Skill planen. Zudem haben Sie einige Grundbegriffe bei der Skill-Entwicklung kennengelernt und die Konfiguration Ihres Skills im Alexa Skills Kit umgesetzt. Zudem haben Sie einige Tipps für die Freigabe Ihres Skills erhalten.

Im zweiten Teil geht es dann an die Umsetzung des Skill-Codes mit PHP. Darin werden die Anforderungen aus der Planung sowie die konfigurierten Intents umgesetzt. Zum Einsatz kommt dafür eine PHP-Library für die Entwicklung von Alexa Skills, die vor Kurzem als Open-Source-Lösung veröffentlicht worden ist. Ich hoffe, Sie schauen auch in den zweiten Teil hinein.

MEHR INFOS ZUR WEBINALE?

JETZT NEWSLETTER ABONNIEREN

Programm-Updates der Webinale