Alexa Skills: Welche Arten gibt es?
Alexa Skills: für den Entwickler gibt es insgesamt 5 verschiedene Arten von Skills. Sie sind für unterschiedliche Zwecke vorgesehen.
Wir werden im folgenden die einzelnen Typen kennenlernen und etwas über ihre Struktur erfahren. Der folgende Artikel ist ein Auszug aus meinem Buch „Alexa Skills entwickeln“. Klicke auf das Bild, um das Buch auf Amazon ab 8,99€ zu kaufen. Es lohnt sich für Entwickler und die, die es werden wollen.
Contents
Alexa Skills: Welche Arten gibt es?
Um mit Alexa als Entwickler zu beginnen, muss man zuerst die verschiedenen Möglichkeiten verstehen, wie man an ASK herangehen kann. In ASK sind die vorhin genannten Skill-Typen alle etwas unterschiedlich aufgebaut. Sowohl Flash Briefing Skills als auch die Smart Home Skills können 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, da Amazon bereits viel Vorarbeit geleistet hat. Generell werden alle Skills entweder auf einem eigenen Webserver gehostet oder in AWS Lambda. Seit Anfang 2019 bietet Amazon auch das „Alexa-Hosting“, bei dem bis zum Erreichen der kostenlosen Grenzen in AWS der Skill über Alexa gehostet wird. Auch die Lambda-Funktion findet sich dann in der Alexa-Entwicklerkonsole.
Flash Briefing Skills
Diese 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.
Abbildung: Schematische Darstellung eines Flash Briefing Skills
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. Gleichzeitig erfordern solche Skills eine Account-Linking-Integration, die es dem Endbenutzer ermöglicht, sein Amazon Alexa-Konto mit dem Smart Home Appliance-Konto für die authentifizierte Steuerung von Smart Home-Geräten zu verknüpfen.
Abbildung: Schematische Darstellung eines Smart Home Skills
Video Skills
Video Skills wurden entwickelt, um es Nutzern zu ermöglichen, Videos (und Filme) zu finden und anzusehen, ohne einen bestimmten Skill aufrufen zu müssen. Ein Kunde 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.
Die Video Skill API leitet Benutzer intelligent zu den gewünschten Inhalten. Im Gegensatz dazu erfordern Custom Skills, dass der Benutzer ein Skill namentlich aufruft, und die Ergebnisse der Suchen von Custom Skills sind nicht fähig, weitere Dienste oder Endgeräte des Nutzers einzubeziehen.
Ein Videoanbieter kann die Video Skill API verwenden, um ein Alexa-Skill zu erstellen, damit all seine Videos in den Inhaltskatalog von Alexa aufgenommen werden. Alexa versteht dann den Anbieter für die Inhalte. Wenn der Nutzer sagt: „Alexa, spiele Batman returns“, identifiziert Alexa den Anbieter und lädt das Video. Ohne die Video Skill API müsste der Nutzer wissen, bei welchem Anbieter der Film angeboten wird (wenn er mehrere Anbieter, wie bspw. Amazon und Netflix verwendet), den Custom Skill aktiviert haben, und dann diesen Skill nach dem Inhalt fragen: „Alexa, bitte Netflix, Batman returns zu spielen“.
Abbildung: Schematische Darstellung eines Video Skills
Custom Skills
Custom Skills sind am flexibelsten, aber auch die 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 Syntax für benutzerdefinierte Slots, (die im Grunde Datentypen darstellen), so dass Entwickler über die von Amazon eingebauten Typen hinausgehen können. Mit solchen Skills kann man beispielsweise den Benutzern den Status des BART-Transitsystems in San Francisco mitteilen. Custom Skills müssen vom Nutzer gesondert aktiviert werden und haben zusätzlich die Bedingung, dass der Skillname vor jedem Aufruf genannt werden muss.
Abbildung: Schematische Darstellung eines Custom Skills
Baby activity skills
Seit Ende 2018 neu eingeführt sind die Baby activity skills. Diese Skills verwenden die Alexa.Health API, mit denen man Nutzer Gesundheitsdaten für sich selbst, ihre Kinder und andere Familienmitglieder verwalten können, indem sie mit Alexa sprechen. Bei Verwendung dieser API ist das Sprachinteraktionsmodell bereits vorgegeben. Die Health API ist allerdings Anfang 2019 nur für Nutzer in den USA verfügbar. Beispielhafte Äußerungen (auf Englisch) könnten sein:
- “Alexa, record sleep for three hours starting at two pm.”
- “Alexa, how long did my baby sleep yesterday?”
- “Alexa, log a formula feeding of three ounces at two pm.”
- “Alexa, how much has my baby eaten today?”
- “Alexa, record a dirty diaper at three pm.”
Die Alexa.Health API erfordert Kundendaten und eine Identifikation der Kunden über Account linking mit einer weiteren App oder Website.
Das Handbuch zur Alexa Skill Entwicklung
Wenn der Artikel dich interessiert hat, sehe dir das Handbuch für Alexa Skill Entwicklung auf Amazon an, oder lies die Produktseite. Auf Github findest du alle Code-Beispiele.
Pingback: Hausbau - Vorteile und Nutzen - Smart Home System