【问题标题】:Alexa call custom intent without "ask" the skillAlexa无需“询问”技能即可调用自定义意图
【发布时间】:2023-03-25 23:36:01
【问题描述】:

我想在不说 ask + InvocationName 的情况下调用我的话语。 举例:

Alexa,我今天的计划是什么?

代替

Alexa,询问我的计划我今天的计划是什么?

我在想你需要启动你的技能(Alexa,启动我的计划) 并将 shouldEndSession 设置为 false,但它不起作用,我做错了吗?

我发现“canfulfillintentrequest”解释 here 但我无法在 dev alexa 面板上打开它:/

所以,我被卡住了,不确定这是否真的可能?

提前感谢您的回答。

【问题讨论】:

  • 可能不希望您正在寻找,但 SmartHome 技能允许无名称交互“例如。alexa 打开我的设备”
  • 我正在寻找自定义技能,但感谢您提供的信息:/

标签: alexa alexa-skill alexa-app


【解决方案1】:

canfulfillintentrequest 正是您想要的,如果您正在寻找 无名称交互 来与 Alexa 交互,而无需通过调用名称调用特定技能。

CanFulfillIntentRequest 的工作原理:

  1. 客户通过请求的操作、问题或不包含技能名称的陈述与 Alexa 交谈。
  2. Alexa,处理此话语并查询一些可以处理CanFulfillIntentRequest 的技能,以检查它们是否可以满足请求。
  3. 您的技能会收到带有已处理话语和插槽的CanFulfillIntentRequest。然后,您的技能必须返回一个 canFulfillIntent 对象,其中包含用于意图的必填字段 canFulfill,以及用于插槽的两个可选字段 - canUnderstandcanFulfill
  4. Alexa 从原始技能列表中收集响应并选择最佳技能来满足客户的要求。
  5. Alexa 使用实际的 IntentRequest 调用所选技能,就像客户可能通过名称调用技能一样。然后你的技能必须像往常一样回复这个IntentRequest

如果您的技能支持CanFulfillIntentRequest 接口,那么您的技能可能会被选中并自动启用,以完成对尚未启用您技能的用户的查询。


shouldEndSession 属性用于保持技能会话(当您需要用户响应时)最长 8 秒,然后是 reprompt 和另外 8 秒。你不能延长这个时间。当您处于活动会话中时,您不必使用调用名称。

注意:在 Alexa 技能中使用 CanFulfillIntentRequest 是作为公共预览版/测试版提供的,可能会改进或更改。这 该功能仅适用于英语(美国)技能。

【讨论】:

  • 感谢您的回答,这正是我正在寻找的,不幸的是我是法国人:/但也许是现有的技巧或其他解决方案?因为像 Spotify 或 Uber 这样的技能正在使用它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
相关资源
最近更新 更多