由 Response 触发的 IntentRequest - 无需用户调用

IntentRequest triggered by Response - without user-invocation

假设我有一项技能有 2 个自定义意图,'FirstIntent' 和 'SecondIntent'。 SecondIntent 也有一个必需的插槽,'reqSlot'。

现在,我想对我的意图进行排序。在我的技能发送 FirstIntent 响应后,我希望 Alexa 发送一个带有 SecondIntent 的请求和一个指令来引发 reqSlot,没有 用户调用它。

他们在参数 'updatedInted' 处说 here: "Note that you cannot change intents when returning a Dialog directive, so the intent name and set of slots must match the intent sent to your skill."

这通常是可能的吗?或者有人想出解决这种情况的方法吗?

谢谢:)

有很多方法可以解决这个问题。

你可以试试:

当您发送第一个响应时,它必须将 shouldEndSession 标志设置为 false。

您的第一个响应输出语音的结尾应引导用户调用第二个响应。例如:'Say telephone number followed by your number'。 这样,用户无需显式调用您的技能即可获得下一个意图。

目前无法让 Alexa 在没有用户先与它说话的情况下开始说话。

因此,例如,我无法创建一种技能,每当我下班时都会向我的妻子宣布"Ron is on his way home"。

不过,我可以创造一种技能,我妻子可以问 "Is Ron on his way home",它可以用答案来回应。

此外,新通知允许一项技能 post 通知,但这只会导致 Alexa 点亮其圆环以指示通知正在等待。用户仍然必须要求 Alexa 阅读它。在我上面引用的示例中,这可能没问题。

我们很多人都希望 Alexa 能够自发地开始说话,但亚马逊还没有启用它。您能想象该功能可能带来的广告滥用机会吗?没有什么比坐下来看电视让 Alexa 开始说话更好的了,"Hey, wouldn't some Wonder Popcorn taste great about now? We're having a sale..."