Alexa 会话保持打开状态,不会向用户提示。为啥认证反馈失败?

Posted

技术标签:

【中文标题】Alexa 会话保持打开状态,不会向用户提示。为啥认证反馈失败?【英文标题】:Alexa session remains open with no prompt to the user. Why does certification feedback fail?Alexa 会话保持打开状态,不会向用户提示。为什么认证反馈失败? 【发布时间】:2019-08-27 03:42:58 【问题描述】:

亚马逊告诉“提交未能通过认证过程”。

如果我在 speak 和 repromt 中重复相同的文本

.speak(speechOutput)
.reprompt(speechOutput)
After the skill completes a task, the session remains open with no prompt to the user. The skill must close the session after fulfilling requests if it does not prompt the user for any input.

Steps To Reproduce:
User: "Alexa, öffne blick analytics"
Skill: "Blick Analytics gestartet. Du bist nicht authentifiziert. Nenne die Parole!"
User: "XXX"
Skill: "Parole richtig, du bist authentifiziert."
User: "wieviele besucher hatten wir gestern"
Skill: "Gestern hatten wir X Millionen Nutzer. Juhuu, das ist X Prozent über dem Tagesziel." and the session remains open.

Please ensure that the session only remains open when the user is prompted for input.

如果我删除 repromt 功能,它会失败

The skill prompts users for an input then immediately closes the session. Make sure the session remains open anytime users are prompted for inputs.

Steps To Reproduce:
User: "Alexa, starte blick analytics"
Skill: "Blick Analytics gestartet. Los gehts."
User: "zahlen gestern"
Skill: "Wir hatten X Millionen Seitenaufrufe. Das ist X Prozent vom Tagesziel entfernt mit dem wir Nummer 1 werden. Sag WEITER für mehr."
And the session gets closed.

保持会话打开的正确输出是什么?

【问题讨论】:

【参考方案1】:

其实答案与代码无关,而是与你返回的文本有关。

您必须随时与用户沟通以保持会话打开。

两者都有

.speak(speechOutputForSpeak)
.reprompt(speechOutputForRepromt)

无论是相同的文本,还是我认为使用不同的文本更好。

.speak() 的输出必须以类似的结尾。 “您还有其它问题么?”告诉用户会话保持打开状态

我只使用了“更多问题?”的 repromot()。

Alexa 将执行的操作示例:

User: "How many users yesterday?"
Skill: "We had X Million users. Do you have more questions?" 
User: "How many pageviews yesterday?"
Skill: "We had X Million pageviews. Do you have more questions" 
Repromt Skill: "More questions?" 
User: "Female share yesterday?"
Skill: "... Do you have more questions?" 
Repromt Skill: "More questions?" 
User: No Interaction after Repromt
Closing the skill

【讨论】:

以上是关于Alexa 会话保持打开状态,不会向用户提示。为啥认证反馈失败?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Ajax 调用使会话保持活动状态?

为啥要池化无状态会话 bean?

电脑任务管理器为啥老是弹出用户状态活动的会话Console?

为啥我在使用 Passport 和会话时没有保持登录状态? Passport 的“isAuthenticated()”总是返回 false

在用户控件中获取工具提示以显示数据绑定文本并保持打开状态

View - 状态保持 session