Konfiguration von Skills - neuer Skill Stundenplan

Hier wird über die Entwicklung von Skills diskutiert.
Benutzeravatar

Themenstarter
DaBus
Beiträge: 210
Registriert: Mo 26. Dez 2016, 10:50
Vorhandene Echos: 5
Vorhandene Echo Dots: 3
Kontaktdaten:

Mi 4. Jan 2017, 16:06

Hi,

hat sich schon jemand mit dem Thema Konfiguration beschäftigt?
Ich habe bisher nur private Skills entwickelt, welche alles hart codiert hinterlegt haben. Bisher hatte ich einfach noch nicht die Notwendigkeit dafür. Muss dafür extra eine Webseite/API entwickelt werden um dann das Amazon Konto zu verknüpfen oder bietet das Skill Kit hier eine einfache Variante?
Angenommen ich entwickle einen Skill zur Steuerung von irgendwas und muss eine Public URL vom Benutzer hinterlegen lassen oder die einzelnen Geräte ID's.

Hat jemand ein Beispiel?

Ferner habe ich heute Vormittag meinen nächsten privaten Skill "Stundenplan" erstellt.
Diesen zeige ich hier gerne einmal (nicht im Store zu finden, da hart codiert).
Auch hier wäre natürlich eine Konfiguration sinnvoll damit er von weiteren Personen genutzt werden kann.

https://youtu.be/WdLpjC-JkBQ
8 x
Benutzeravatar

Bäda
Beiträge: 43
Registriert: Sa 12. Nov 2016, 18:53

Mi 4. Jan 2017, 18:57

Ich kann Dir leider nicht helfen, aber Dein Skill ist super und wäre eine echte Bereicherung!!!
0 x
Benutzeravatar

Tobiba
Beiträge: 7
Registriert: Fr 6. Jan 2017, 09:56

Fr 6. Jan 2017, 11:42

Um eine an die Funktionen des Skills angepasste Webseite kommst du nicht herum. Das kann Amazon dir leider nicht abnehmen. Sollte aber für die Stundenplan-App kein großer Aufwand sein, je nachdem wie fit du in HTML / PHP / JS bist.

Die "Konfiguration" - ich vermute mal, du meinst das Account-Linking - ist auch weitaus einfacher, als es auf den ersten Blick aussieht. Lass dich davon nicht abschrecken.

Mit anderen Beispielen als in der Echo Dev Doku kann ich gerade nicht dienen, aber bei konkreten Fragen sag ruhig Bescheid...
0 x
Benutzeravatar

Themenstarter
DaBus
Beiträge: 210
Registriert: Mo 26. Dez 2016, 10:50
Vorhandene Echos: 5
Vorhandene Echo Dots: 3
Kontaktdaten:

So 8. Jan 2017, 11:36

Hallo Tobiba
Danke für deine Antwort.

Ja das Account Linking ist gemeint. Das hätte aber Amazon schon ein bisschen anders lösen können. Denn so muss sich nur für eine Konfiguration der User erst mal ein Konto für meine Seite erstellen. Die Webseite selbst ist schnell gemacht, das stimmt. Aber dahinter steckt dann noch eine Benutzerverwaltung, registrieren, anmelden, Konto löschen und ein oauth2 server.
Und das alles um vielleicht nur einen einzigen String abzufragen.. bei größeren Sachen wie Hue, um z.b. Lampen von extern zu steuern passt das, aber für einen kleinen Skill halte ich das für übertrieben.

Nun ja... sei es drum, du kannst ja nix dafür :)
1 x
Benutzeravatar

Tobiba
Beiträge: 7
Registriert: Fr 6. Jan 2017, 09:56

So 8. Jan 2017, 16:36

Amazon hat das schon nicht ganz schlecht gelöst. Du willst es dir nur komplizierter machen als nötig :)

Den Account kannst du automatisch erstellen, sobald der Benutzer in der App deinen Skill aktiviert. Was du dir unter einem Oauth-Server vorstellst, ist in 20 Zeilen PHP erledigt.

Wenn's so einfach wie möglich sein soll, könnte der Ablauf etwa folgender sein:

- Benutzer findet in der App deinen Skill und drückt auf "Skill aktivieren"
- App leitet Benutzer auf deinen Server
- Dein Server erstellt einen neuen Account und zeigt dem Benutzer einen zufällig generierten Code an
- Benutzer notiert sich den Code
- Fertig

Alexa ist jetzt verknüpft, der Benutzer hat einen Account und niemand musste irgendwo irgendwas eingeben.

Auf der Webseite hast du dann ein Eingabefeld für den Code, eins für deinen "einzigen String" und einen "Update"- und "Account löschen" Button oder so. Alles zusammen 150 Zeilen PHP - schätze ich jetzt mal leichtsinning :grin:

Wenn das auch noch zu kompliziert ist, muss ich mich leider geschlagen geben :unamused:
0 x
Benutzeravatar

Themenstarter
DaBus
Beiträge: 210
Registriert: Mo 26. Dez 2016, 10:50
Vorhandene Echos: 5
Vorhandene Echo Dots: 3
Kontaktdaten:

So 8. Jan 2017, 18:53

Nein ich verstehe dich schon...
es gibt auch zu hauf Beispiele im Netz um oauth zu realisieren. Aber gerade für simple strings die gespeichert werden müssen, hätte Amazon eine Art propertybag für jeden Skill realisieren können.
Sicherlich wenn man einmal alles gemacht hat, lässt es sich auch unkompliziert für den nächsten Skill verwenden . Keine Frage. Aber es wäre auch einfacher möglich gewesen.
Da ich ja da nun nicht herumkomme, werde ich mich aber mal dran setzen.

Danke dir für deine Hilfe!
0 x
Benutzeravatar

Tobiba
Beiträge: 7
Registriert: Fr 6. Jan 2017, 09:56

So 8. Jan 2017, 19:59

Habe dir mal ein Beispiel speziell für Alexa gebastelt. Sollte weitestgehend selbsterklärend sein. Einfach auf den Webserver packen, einen Skill mit beliebigem Intent erstellen, Account Linking mit Auth Code Grant auswählen und Client Authentication Scheme muss glaube ich "Credentials in Request Body" sein. Und nicht über meine bescheidenen PHP-Kenntnisse nörgeln! :)
Dateianhänge
alexa_oauth_beispiel.zip
(2.11 KiB) 437-mal heruntergeladen
0 x
Benutzeravatar

Themenstarter
DaBus
Beiträge: 210
Registriert: Mo 26. Dez 2016, 10:50
Vorhandene Echos: 5
Vorhandene Echo Dots: 3
Kontaktdaten:

Mo 9. Jan 2017, 08:10

Hey cool danke!
Ich werde das mal testen und berichten
0 x
Benutzeravatar

tkrall
Beiträge: 7
Registriert: Sa 31. Dez 2016, 08:53

Mo 9. Jan 2017, 19:19

Alternativ kann OAuth auch direkt über Amazon verwendet werden, dann benötigt man keinen eigenen OAuth-Dienst.
Jeder der den Echo verwendet wird wohl auch ein Amazon-Konto haben.
0 x
Benutzeravatar

tkrall
Beiträge: 7
Registriert: Sa 31. Dez 2016, 08:53

Mo 9. Jan 2017, 19:24

Btw:
Den Skill finde ich echt praktisch, kann man den Code irgendwo bekommen?
Die Datenhaltung würde ich für so überschaubare Sachen mit Amazon-DynamoDB machen.
1 x
Antworten

Zurück zu „Fähigkeiten (Skills) entwickeln“

  • Information