2016-07-04 13 views
8

Ich habe eine Fähigkeit erstellt, so dass die Leute einen Zustand verfolgen können. Aber statt Alexa immer zu bitten, die App zu öffnen und zu interagieren.Wie man eine alexa Fähigkeit offen hält?

alexa ask grocerylist to add 2 eggs 
alexa ask grocerylist to add bread 

ich das GroceryList Geschick offen halten möchte, so dass der Benutzer damit umgehen kann, bis sie es fragen

alexa open grocerylist 
.... 2 mins later 
add 2 eggs 
.... 1 min later 
add bread 

Gibt es eine Möglichkeit, dies zu tun, ohne alexa ask grocerylist jedes Mal schließen verwenden .

Antwort

7

Dies ist nicht möglich. Es ist ein Sicherheitsmerkmal, damit Dritte keine Fähigkeit entwickeln können, alles, was jemand sagt, "zuzuhören". Sie können antworten und wenn Sie das Flag "endSession" nicht setzen, wird die Sitzung geöffnet bleiben. Aber es bleibt nur für ungefähr 8 Sekunden offen. Wenn Sie einen erneuten Aufruf vorgenommen haben, liest er ihnen den erneuten Aufruf an diesem Punkt und bleibt für weitere 8 Sekunden geöffnet. Das Maximum, für das Sie die Leitung offen halten können, ist 16 Sekunden.

+1

Diese Antwort beginnt damit, "nicht möglich" zu sagen, aber dann beschreibst du genau das, was ich verstehe, was der Fragesteller will. @adamp unten gibt die gleiche Antwort. –

+0

Die meisten Leute, die diese Frage im Forum und anderswo stellen, wollen die Fähigkeiten ständig offen halten; auf etwas hören, was der Benutzer später ohne Aufruf sagen würde. Der Fragesteller ist hier nicht explizit über sein Szenario, also beantwortete ich die Frage basierend auf der Antwort, nach der die meisten Leute suchen werden. –

+0

Kann ich wiederholten 8 Sekunden Hörmodus mehr als 2 Mal auslösen? – Sunil

4

Natürlich ist das möglich!

In Ihrer Antwort (kann aber auch bei maximal etwa 8 Sekunden pro @ Bills Kommentar gekappt), wenn buildSpeechletResponse Aufruf für mehr Äußerungen setzen ‚shouldEndSession‘ auf false, um zu hören, die Sitzung geöffnet und halten zu halten, ohne Sie müssen die Fähigkeit erneut starten mit "Alexa fragen MyApp ..."

Verschiedene Demos zeigen, wie dies zu tun ist. z.B. Siehe Beispielcode hier: https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/savvyConsumer/src/AlexaSkill.js

+0

Diese Antwort ist irreführend. Amazon Echo-Geräte werden nach ca. 8 Sekunden ablaufen. Sie haben keine Möglichkeit, die Länge des Timeouts zu verlängern. – Bill