Amazon Alexa für Developer, Teil 2 Einstieg in die Skills-Programmierung
Alexa-Skills herzustellen, ist nicht schwer. Man benötigt nur eine gute Idee und ein Amazon-Entwickler-Konto. Beides sollte nicht allzu schwer zu bekommen sein. Anschließend kann es direkt mit der Skills-Programmierung losgehen.
Anbieter zum Thema

Alexa-Skills bieten eine wunderbar einfache Möglichkeit, Geräte, Websites oder Services in Alexas weit verbreitetes Echo-Ökosystem einzubinden. Der User spricht mit seinem Smart-Speaker, einem FireTV oder einem Echo Dot – und der Entwickler profitiert, wenn der Skill eingebunden ist.
Wichtig dabei ist, dass Skills vergleichbar mit Apps für Smartphones sind. Sie werden im Alexa Skills-Bereich bei Amazon angeboten, der User muss sie jedoch selbst zu seinem Alexa-System hinzufügen. Skills können außerdem nicht direkt online geschaltet werden. Nach der Programmierung muss sie der Entwickler zunächst bei Amazon einreichen: Der Anbieter prüft den Skill und schaltet ihn dann frei. User können ihn sich dann installieren.
Um mit der Alexa-Skill-Programmierung loszulegen, wird zunächst ein Amazon-Developer-Konto benötigt. Das ist leicht zu bekommen, die Anmeldung erfolgt über die Developer-Seite des Amazon-Kontos. Anschließend startet der Registrierungsprozess, in dem es die benötigten Felder auszufüllen gilt.
Das war es dann auch schon: Man erhält Zugriff auf die Amazon-Developer-Console. Hier gibt es zwei Alexa-Menüpunkte: Das Alexa-Skills-Kit und den Alexa-Voice-Service. Der Voice-Service ist dabei eine API, um Alexa in ein eigenes Hard- oder Softwareprodukt zu integrieren, für die Skills ist er uninteressant. Wichtig ist das Skills-Kit, das mit einem einfachen Interface das Erschaffen leistungsstarker Alexa-Fähigkeiten ermöglicht.
Einstieg in die Skills-Programmierung
Amazon hat die Oberfläche möglichst simpel gehalten, die ersten Schritte sind im Grunde selbsterklärend. Zunächst muss man einen neuen Skill erstellen. Das geht über den entsprechenden Knopf im Alexa-Skills-Kit. Zunächst vergibt man einen Namen und eine Standardsprache.
Nun wird es interessant: Amazon erlaubt die Wahl aus vier Skill-Kategorien, nämlich „Custom“, „Flash-Briefing“, „Smart Home“ und „Video“. Was genau die Skill-Typen bedeuten, wird auch gleich erklärt. Während Video zum Beispiel auf dem Fire TV hilft, Inhalte zu finden, steuert Smart Home intelligente Geräte wie etwa Smart-Home-Steckdosen oder Thermostate. Flash Briefing bedeutet, einen kurzen Dialog mit Alexa zu entwerfen: Der User fragt, Alexa antwortet. Mit der „Custom“-Option lässt sich zu guter Letzt ein individualisierter Skill erstellen.
Vorab Gedanken machen
Neben der Grundidee ist es vor der Skills-Erstellung natürlich wichtig, sich ein paar Gedanken über die Funktionsweise des Skills zu machen. Was soll genau möglich sein, was muss der Skill können und in welcher Weise soll der Skill mit dem User interagieren?
Insbesondere letzterer Punkt ist wichtig, denn je nachdem, wie gut die Anwendung aufgesetzt ist, wird der User ihn später sehr gerne benutzen oder als eher lästig empfinden. Wenn zum Beispiel bei jedem einzelnen Start eine längere Ansage folgt, kann das schnell nerven – und der User wird den Skill möglicherweise wieder deinstallieren.
Einfache Feed-Abfrage
Mit „Custom“ erstellen wir nun einen komplett anpassbaren Skill. Nun gilt es zunächst, einen einen „Invocation Name“, also einen Aufruf-Namen zu definieren, der maximal 50 Zeichen lang sein darf. Im Beispiel soll Alexa die neuesten Artikel im Feed von Dev-Insider vortragen. Dazu muss zunächst der Invocation-Name gesetzt werden, etwa „devinsider“.
Es folgt die Definition der eigentlichen Absicht, sprich des „Intent“. Mit „Create custom intent“ erhält dieser einen Namen, anschließend fragt das System, worauf Alexa reagieren soll. Dazu muss ein Sprachmuster eingegeben werden, etwa: „Hole Dev-Insider-Feed“ oder „Was gibt es neues bei Dev-Insider?“ Hier lassen sich mehrere Muster einfügen und somit verschiedene Fragestellungen abdecken. Hier ist eine gute Planung wichtig, man sollte sich überlegen, welche Fragen der User stellen könnte. Ein Klick auf „Build Model“ schließt den Vorgang ab.
Code betrachten und Skill verbinden
Als nächstes ist ein Blick in den JSON-Editor sinnvoll. Hier ist der Code zu sehen, der über den Intent erzeugt wurde. Bei Bedarf können hier zum Beispiel Fehler in den Intents korrigiert oder bestimmte Code-Schnipsel hinzugefügt werden. Zuletzt ist es erforderlich, einen Endpoint zu wählen.
Auf dem Endpoint wird die User-Eingabe verarbeitet. Hier sollte „AWS Lamda ARN“ gewählt werden. Anschließend wird noch ein Code-Schnipsel des Amazon-Lamda-Service benötigt, den man in der AWS Console erhält. Dieser wird anschließend mit dem Skill verbunden.
Skill programmieren und testen
Nachdem die Funktionen implementiert wurden, kann man den eigentlichen Skill bequem im JSON-Editor programmieren. Alternativ lassen sich natürlich auch beliebige andere Editoren benutzen, der Code muss anschließend nur wieder in den Editor eingefügt werden. Hier geben wir auch den Namen des Feed an, den wir abfragen wollen, etwa „https://www.dev-insider.de/rss/news.xml“.
Im Anschluss an die Programmierung kann man den Skill mit der Test-Funktion auf Herz und Nieren prüfen. Das funktioniert praktischerweise direkt im Browser. Im letzten Schritt muss der Skill noch bei Amazon eingereicht werden, um ihn in der Skill-Bibliothek zur Verfügung zu stellen. Da Amazon die Skills vorher prüft, kann zwischen Einreichung und Freigabe ein wenig Zeit ins Land ziehen.
(ID:45270582)