Alexa Skills erstellen: Das sind die Skill-Arten
Um mit Alexa als Entwickler zu beginnen, muss man zuerst die verschiedenen Möglichkeiten verstehen, wie man an Alexa und die Alexa Entwicklerumgebung, und vor allem an das „Alexa Skills Kit“ herangehen kann.
Zunächst ist es wichtig zu wissen, dass Amazon mehrere Skill-„Vorlagen“ bereitstellt. Je nachdem, welche Vorlage man verwendet, kann man sich dann Programmieraufwand sparen, da man eventuell bereits auf Vorarbeit von Amazon zurückgreifen kann. So kann man den eigenen Skill in einigen Fällen sehr schnell entwickeln. Das gilt sowohl für die Flash Briefing Skills als auch die Smart Home Skills, die mit Hilfe einer bereitgestellten API erstellt werden. Für sie existieren bereits APIs, die weniger Kontrolle über den Skill erlauben, aber die Entwicklung auch vereinfachen. Es gibt folgende Skill-Arten:
- Flash Briefing Skills: für Zeitungen oder News-Seiten gut geeignet.
- Smart Home Skills: für die Anbieter von Smart Home-Geräten geeignet.
- Video Skills: für Video-Anbieter wie Netflix geeignet.
- Custom Skills: für alles andere, beispielsweise Spiele.
Elemente eines Skills
Skill Interface und Skill Service: Ein Alexa Skill besteht aus dem Skill Service und dem Skill Interface. Vereinfacht könnte man sagen, das Frontend ist die Sprachschnittstelle (Voice User Interface oder VUI), die über das Sprachinteraktionsmodell konfiguriert wird. Das Backend, der Skill Service, ist der Ort, an dem die Logik der Skills liegt und ausgeführt wird. Das passiert in der Praxis meist in AWS Lambda.
Flash Briefing Skills
Flash Briefing Skills verwenden entweder einen RSS- oder JSON-Feed, der die neuen Elemente enthält, die als Teil des Flash Briefings vorgelesen werden. Solche Skills sind einfach zu entwickeln und eignen sich gut für Zeitungen und Blogger. Der Skill Service ist in diesem Fall keine Lambda-Funktion, sondern der RSS- oder JSON-Feed. Diese Art von Skills hat allerdings auch nur wenige Zusatzfunktionen.
Alexa Smart Home Skills
Smart Home Skills hingegen haben eine Benutzerschnittstelle (API), welche eine AWS Lambda-Funktion erfordert, die als Adapter für die Integration des Endgeräts fungiert. Vorteil dabei ist, dass man kein eigenes VUI entwickeln muss, sondern auf Amazon zurückgreifen kann. Anhand dieser API kann dann ein Smart Home-Befehl richtig interpretiert werden, und der Smart Home Anbieter kann sich auf die eigentliche Arbeit mit seinen Geräten konzentrieren.
Alexa Video Skills
Video Skills wurden entwickelt, um es Nutzern zu ermöglichen, Videos (und Filme) zu finden und anzusehen, ohne eine bestimmte Fähigkeit aufrufen zu müssen. Ein Nutzer könnte beispielsweise sagen: „Alexa, spiel Batman Returns“, ohne einen Anbieter oder ein Gerät anzugeben. Durch die Video Skill API ist Alexa über Videogeräte und -dienste informiert, die ein Benutzer besitzt oder abonniert hat, und ermöglicht es so, Videos zu zeigen.
Alexa Custom Skills
Custom Skills sind die flexibelste, aber auch komplexeste Variante, da der Entwickler selber das Interaktionsmodell bereitstellen muss. Das Interaktionsmodell ist im Wesentlichen das „Gespräch“, der Dialog zwischen Alexa und dem Benutzer. Es bildet die verschiedenen Arten ab, wie Benutzer ihre Frage stellen, wie Alexa die Informationen sammelt und wie Alexa die Anfrage beantwortet.
Custom Skills werden entweder in AWS Lambda gehostet, bei Amazon Alexa oder in einem selbst festgelegten HTTPS-fähigen Webserver. Ein eigener Server muss allerdings von Amazon geprüft werden, um mit dem notwendigen Zertifikat ausgestattet zu werden.
Custom Skills unterstützen auch die sogenannten Slots, die im Grunde Benutzereingaben darstellen, mit denen der Skill weiter arbeiten kann. Slots sind analog zur Programmierung Variablen, die einen Datentyp, einen Slot type haben. Beispiel dafür sind die Slot types AMAZON.NUMBER oder AMAZON.DURATION. Als Entwickler kann man auch eigene Slot types festlegen.
Den eigenen Alexa Skill erstellen - das ist zu beachten
Bei der Programmierung von Alexa Skills muss man sich vorher im Klaren sein, welche Funktionen der Skill genau haben soll und zu welchem Zweck er dient. Die gerade beschriebenen Skill-Templates können als Hilfe dienen, da für viele Zwecke eine der bereitgestellten Vorlagen von Amazon geeignet ist.
Für alle anderen muss allerdings ein Custom Skill entwickelt werden. Bei dessen Entwicklung sollte man allerdings häufige Fehler vermeiden. Darunter fallen zum Beispiel:
- Unzureichende Bereitstellung von Wörtern in den Slots: manchmal verwenden Menschen für ein- und dasselbe Wort eine Vielzahl an Synonymen, die teilweise auch durch Akzent sich unterscheiden. Die Slot types unterstützen Synonyme für ein Wort, die man aber auch entsprechend angeben muss.
- Nutzerführung klarstellen: dem Nutzer sollte jederzeit klar sein, wo er sich befindet. Die Verwendung der von Amazon angebotenen Hilfe-Funktion ist wichtig, um schlechte Nutzer-Erfahrungen zu vermeiden.
- Analysieren der Nutzereingaben und viele Tests: bevor ein Skill live geht, sollte er am besten mit einem Testfeld an Nutzern getestet werden. Amazon bietet eine Möglichkeit zum Beta-Test an, zudem gibt es eine Vielzahl an Möglichkeiten, um Skills auch während der Entwicklung zu testen.
ASK: So wird der Alexa Skill erstellt
Das Skill Interface eines Alexa Skills wird zunächst in der Alexa Developer Console entwickelt, wohingegen der Skill Service, wie vorhin beschrieben, entweder in AWS Lambda gehostet wird, oder in einem eigenen Webservice.
Funktionen für Alexa-Skills, die in AWS Lambda gehostet werden, kann man in Node.js, Java oder Python schreiben, während ein eigener Webservice in jeder geeigneten Sprache erstellt werden kann, solange die Amazon API damit erreicht werden kann. Für die drei genannten Programmiersprachen steht jeweils ein Software Development Kit (SDK) zur Verfügung.
Ebenfalls hilfreich ist im Umgang mit Alexa das Speech Synthesis Markup Language (SSML). Mit SSML kann man Alexas Antworten selber anpassen, da Alexa ansonsten die Antwort mit ihrem eigenen Standardverfahren durchführt.
Mehr zur Alexa Skills Entwicklung
Mehr zur Alexa Skill Entwicklung findet sich unter smart-home-system.org, dem Expertenblog von Roman Alexander - oder in seinem Buch "Alexa Skills entwickeln".
Mehr Experten auf home&smart
Lesenswerte Expertenblogs finden Sie in unserem Experten Blog-Verzeichnis
Weitere Experten-Beiträge finden Sie in unserem Experten-Verzeichnis
Weitere Alexa How-tos
Alexa Skills aktivieren und verwalten - so geht 's
Alexa Skills richtig anwenden
Alexa und Skills im Browser testen und nutzen
7 IFTTT Rezepte für Amazon Echo | Programmieren war gestern
Alexa FAQ: Häufige Fragen zur Nutzung von Amazon Echo und Alexa
Anleitung: Amazon Echo zurücksetzen bei Problemen
How-To: Sonos Multiroom Lautsprecher mit Alexa steuern
How-To: Google Suche mit dem Amazon Echo verwenden
Mehr Trends und Smart Home News
Die mit * gekennzeichneten Links sind sogenannte Affiliate Links. Kommt über einen solchen Link ein Einkauf zustande, werden wir mit einer Provision beteiligt. Für Sie entstehen dabei keine Mehrkosten.
Wir haben Kooperationen mit verschiedenen Partnern. Unter anderem verdienen wir als Amazon-Partner an qualifizierten Verkäufen.