Quickstart: Amazon Alexa Custom Skill mit PHP und ohne Amazon Lambda entwickeln

Ich lese ab und zu Mobiflip, ein Online Magazin über Technik und co. Dabei ist mir dieser Artikel aufgefallen: Amazon Echo: Alexa individuelle Ansagen abspielen lassen. Darin wird beschrieben, wie man über 10 Ecken ein selbsterstelltes Audio-File über Amazon Echo abspielen kann. Konkret sollen dabei Gäste begrüßt werden.
Meine Meinung: Schöne Idee, schön beschrieben – ABER DAS GEHT AUCH EINFACHER! Hier ist meine Version:)

 

Voraussetzungen

Bevor ihr überhaupt irgendwas anfangt–> Es müssen folgende Voraussetzungen erfüllt sein:

  • Ihr habt einen PHP-fähigen Webspace
  • Der Webspace ist über Port 443 erreichbar
  • Der Webspace ist über ein GÜLTIGES SSL-Zertifikat erreichbar ! ! !

Das Zertifikat darf für dieses Beispiel nicht selbst signiert sein!(praktisch wäre es aber möglich, aber kompliziert) Am Besten sollte es von einer aktiven CA (Certification Authority) ausgestellt sein.

 

Mein Tipp, wenn ihr kein Zertifikat habt: https://letsencrypt.org/

 

Mein 2.Tipp, wenn ihr noch gar keinen Hoster/Webspace habt: https://all-inkl.com/ Da gibt es eine extrem gute Lets Encrypt Integration!
ALL-INKL Logo

 

 

Schritt 1: Backend erstellen

Na, sind alle Voraussetzungen erfüllt? Glück gehabt! Jetzt gehts weiter:
Erstellt eine Datei namens „index.php“ und kopiert diesen Text rein:

<?php
$responseArray = [
				'version' => '1.0',
				'response' => [
						'outputSpeech' => [
								'type' => 'PlainText',
								'text' => 'Hallo liebe Gäste, ich bin Alexa und das ist der Blog von Alexander.',
								'ssml' => null
						],
						'shouldEndSession' => true
				]
		];



header ( 'Content-Type: application/json' );
echo json_encode ( $responseArray );

?>

Versucht die index.php Datei per HTTPS aufzurufen.
Das Ergebnis sollte diese Ausgabe und eine URL in dem Format „https://xxx.de/index.php“ sein.

{
    "version": "1.0",
    "response": {
        "outputSpeech": {
            "type": "PlainText",
            "text": "Hallo liebe G\u00e4ste, ich bin Alexa und das ist der Blog von Alexander.",
            "ssml": null
        },
        "shouldEndSession": true
    }
}

 

Schritt 2: Skill erstellen

Das Backend alleine ist wenig wert. Jetzt geht es auf http://developer.amazon.com/ und oben rechts zur Anmeldung.

 

Entweder neu registrieren oder anmelden:

 

Nach der Anmeldung solltet ihr hier landen und dann auf „Alexa“ klicken:

 

Jetzt gehen wir auf Alexa Skills Kit

 

und klicken oben rechts auf „Add a new Skill“

 

Auf der folgenden Maske tragen wir den Namen „Gäste begrüßen“ und das Aktivierungswort „Begrüßung“ ein. Dann einfach auf „next“ klicken

 

Auf dieser Seite tragt ihr einfach folgendes ein:
oben

{
  "intents": [
    {
      "intent": "HalloWeltIntent"
    }
  ]
}

unten

HalloWeltIntent begrüße die Gäste
HalloWeltIntent sag hallo
HalloWeltIntent hallo

Wenn ihr wissen wollt, wieso ihr das tut – einfach diesen Artikel lesen!

 

Auf dieser Seite einfach den obersten Eintrag auswählen.

 

 

Schritt 3: Skill testen

Hey, ihr habt es geschafft! Euer erster Skill ist fertig und kann jetzt von euch aktiv getestet werden:)
Hierfür stehen euch zwei Varianten zur Verfügung:

 

1. Variante: Live-Test

Meine Lieblingsvariante – einfach den Schalter umlegen und schon könnt ihr den Skill mit eurer eignen Hardware (Amazon Echo oder Amazon Dot) testen. Wenn es nicht funktioniert, einfach mal in eurer Alexa-App auf dem Smartphone schauen, ob der Skill da ist.

 

1. Variante: Service Simulator

Noch einfacher ist der Service Simulator. Hier müsst ihr einfach euren Sprachbefehl eintragen und fertig. Aber Achtung hier gibt es Besonderheiten!

 

Ergebnis

So oder so ähnlich sollte das Ergebnis aussehen:

 

Habt ihr noch keinen Echo?! Dann hier kaufen:)

 

Quellen und weitere Links

 

Copyright © 2017 AxxG – Alexander Gräsel




3 Antworten : “Quickstart: Amazon Alexa Custom Skill mit PHP und ohne Amazon Lambda entwickeln”

  1. Ich fände es schön wenn du mal ein Beispiel zur Interaktion mit Alexa schreibst. Das Beispiel hier funktioniert übrigens super…weiß nur nicht wie ich weiter machen soll.

  2. Xplatforms sagt:

    Hallo Alexander,
    dein Beispiel funktioniert super! Danke fürs teilen. Hast du schon rausgefunden wie man mit Alexa Dialogs bzw „frage SKILL nach bla-bla am {DateSlot}“ arbeitet?
    Ich kriege es irgendwie nicht hin… Any idea?

Trackbacks/Pingbacks

  1. PHP: Response zu einem Amazon Alexa Skill loggen | AxxG Blog - […] alle Voraussetzungen erfüllt und hat vielleicht dieses Beispiel funktioniert, geht es jetzt weiter. Ihr legt entweder eine neue index.php…

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.