我有一个用 Java 编写的 Alexa 技能。我正在测试包含小部件的技能版本。我已为以下请求注册了处理程序:
已安装使用情况
已删除用法
更新请求
安装错误
我的技能成功接收并处理UsagesInstalled请求。但是,当我从小部件面板中删除小部件时,我的技能永远不会收到UsagesRemoved请求。
我知道我的处理程序已正确注册,因为我正在从类的 canHandle(HandlerInput) 方法获取其他请求的日志消息。
每当向我的技能发送请求时,我都会在 CloudWatch 日志中看到一条以“START RequestId:…”开头的消息。
当我从小部件面板中删除小部件时,我的技能不会收到任何请求。至少,CloudWatch 中没有记录任何内容。
我的小部件清单中有以下内容:
"installStateChanges": "INFORM",
"updateStateChanges": "INFORM",
我在 Echo Show 10 和 Echo Show 15 上看到相同的行为。
有什么想法吗?
开发中的技能只有widget版本吗?某些 PackageManager 请求仅针对实时技能发送。 UpdateRequest 绝对是这种情况,因为我让 Amazon 在文档中添加了注释来澄清这一点。也许他们已经做了一些更改,现在不会发送UsagesRemoved 请求来获取开发技能(尽管我对此表示怀疑)。