Seite 1 von 4

Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Mi 4. Jan 2017, 16:06
von DaBus
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

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Mi 4. Jan 2017, 18:57
von Bäda
Ich kann Dir leider nicht helfen, aber Dein Skill ist super und wäre eine echte Bereicherung!!!

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Fr 6. Jan 2017, 11:42
von Tobiba
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...

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: So 8. Jan 2017, 11:36
von DaBus
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 :)

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: So 8. Jan 2017, 16:36
von Tobiba
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:

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: So 8. Jan 2017, 18:53
von DaBus
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!

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: So 8. Jan 2017, 19:59
von Tobiba
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! :)

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Mo 9. Jan 2017, 08:10
von DaBus
Hey cool danke!
Ich werde das mal testen und berichten

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Mo 9. Jan 2017, 19:19
von tkrall
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.

Re: Konfiguration von Skills - neuer Skill Stundenplan

Verfasst: Mo 9. Jan 2017, 19:24
von tkrall
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.