我可以确定Alexa请求是由例程还是由用户触发的?

问题描述 投票:0回答:1

我需要在显式请求和例程请求之间进行区分。

这里是一个例子。假设我正在控制智能灯。灯能够检测到占用情况。

[如果用户进入房间并说开灯,它将检查占用情况并关闭。但是,如果用户创建了一个计划的例程来打开灯,则应禁用占用检查。

我在documentation中看不到Turn On指令中的任何内容,它可以指示请求的来源。

是否有我错过的指标?我可以添加一些指标吗?还是有人使用了不同的方法来完成类似的功能?

alexa alexa-skills-kit alexa-skill alexa-app
1个回答
0
投票
也就是说,如果从例程中启动,通常会在启动请求中看到其他字段:

"request": { "type": "LaunchRequest", "requestId": "amzn1.echo-api.request.abunchofnumbers", "timestamp": "2020-01-18T22:27:01Z", "locale": "en-US", "target": { "path": "AMAZON.Launch", "address": "amzn1.ask.skill.abunchofnumbers" }, "metadata": { "referrer": "amzn1.alexa-speechlet-client.SequencedSimpleIntentHandler" }, "body": {}, "payload": {}, "targetURI": "alexa://amzn1.ask.skill.abunchofnumbers/AMAZON.Launch", "launchRequestType": "FOLLOW_LINK_WITH_RESULT", "shouldLinkResultBeReturned": true }

通常,当用户使用语音启动技能时,找不到目标,元数据,主体,有效载荷,targetURI和launchRequestType字段。但是,我不认为这些领域的存在对于Alexa Routine而言是独一无二的。我怀疑您会在技能启动时发现它们,例如,Alexa询问:“嘿,因为您喜欢盲猴技能,您想尝试盲猪吗?”然后您说“是”。

© www.soinside.com 2019 - 2024. All rights reserved.