Probleme mit "Tell"

Hier wird über die Entwicklung von Skills diskutiert.
Benutzeravatar

Themenstarter
Funmaker
Beiträge: 9
Registriert: Mo 6. Mär 2017, 08:19

Mo 6. Mär 2017, 08:27

Hallo zusammen,

ich bin gerade dabei mir einen Skill zu schreiben, der eine Art Präsentation vorlesen soll, also vordefinierter Text.
Diesen Text lasse ich mit

Code: Alles auswählen

this.emit(':tell', output);
Alexa vorlesen.

Nun verhält es sich so, dass sich danach der Skill anscheinend schließt und ich den Skill erneut über "alexa starte [skillname]" starten muss. Was aber für diesen Zweck extrem unpraktisch wäre.

Hat jemand einen Tipp, wie ich das schließen des Skills umgehe? Ich habe gelesen, dass sich ein Skill nur durch bewusstes "alexa stop" schließt.

Gruß
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mo 6. Mär 2017, 09:28

Eine Session ist immer nur 8 Sekunden offen. Der Stop Intent beendet nur die Session früher. Du kannst die Session offen lassen wenn Du dann im Zeitframe eine Anfrage stellst dann brauchst Du auch nicht den Invocation Name erneut verwenden. Eine ausführliche Dokumentation findest Du im Amazon Developer Portal bzw. beim Alexa SDK.
0 x
Benutzeravatar

Themenstarter
Funmaker
Beiträge: 9
Registriert: Mo 6. Mär 2017, 08:19

Mo 6. Mär 2017, 10:04

Heißt, ich kann tatsächlich nur innerhalb der 8 Sekunden eine neue Frage an meinen Skill stellen?
Wenn mein Output aber schon länger als 8 Sekunden braucht, funktioniert das nicht?
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mo 6. Mär 2017, 10:13

Nein in den 8 Sekunden wartet Alexa darauf das der User was sagt. Wenn das der Fall bleibt der Skill aktiv und brauchst nicht erneut den Invocation Name zu sagen insofern Du die Session offen gelassen hast. Der Response ist davon komplett unabhängig da kannst Du Dir auch einen Roman ausgeben lassen. Du bestimmst ja ob die Session offen bleibt der neue Zeitslot beginnt also erst nachdem Alexa seinen Response losgeworden ist und wartet dann erneut auf Eingabe.
0 x
Benutzeravatar

Themenstarter
Funmaker
Beiträge: 9
Registriert: Mo 6. Mär 2017, 08:19

Mo 6. Mär 2017, 10:28

Aber genau das ist mein Problem. Durch den "tell" (Node.js SDK) wird automatisch die Session geschlossen, darauf hab ich aktuell keinen Einfluss.
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mo 6. Mär 2017, 10:32

Doch hast Du schau Dir den SDK mal genauer an.
Unter github/alexa findest Du auch erst mal Skills zum nachbauen da siehst Du wie das funktioniert.
0 x
Benutzeravatar

Themenstarter
Funmaker
Beiträge: 9
Registriert: Mo 6. Mär 2017, 08:19

Mo 6. Mär 2017, 10:36

Dann steht ich aktuell auf dem Schlauch.
Ich habe mich an den Beispielen orientiert, nur mein Skill versteht nur die 1. Frage und danach kann er nichts mit der den weiteren Anfangen. Außer ich sage "alexa, frage [skill], 2.Frage".
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Mo 6. Mär 2017, 10:42

0 x
Benutzeravatar

amartin
Beiträge: 117
Registriert: Sa 4. Feb 2017, 19:12
Vorhandene Echos: 1
Vorhandene Echo Dots: 1

Mo 6. Mär 2017, 10:59

Du kannst statts :tell auch :ask verwenden, dann wäre der Syntax

Code: Alles auswählen

this.emit(':ask', 'prompt', 'reprompt');
0 x
Benutzeravatar

Themenstarter
Funmaker
Beiträge: 9
Registriert: Mo 6. Mär 2017, 08:19

Mo 6. Mär 2017, 11:27

Danke für die Info. Ich weiß es das es auch "ask" gibt. Für meinen Anwendungsfall benötige ich diesen jedoch nicht. Sie soll nicht hören sondern auf einen gesprochenen Satz anschließend reagieren. Dieser kann ca. 1 Minute später erst erfolgen
0 x
Antworten

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

  • Information