我需要在显式请求和例程请求之间进行区分。
这里是一个例子。假设我正在控制智能灯。灯能够检测到占用情况。
[如果用户进入房间并说开灯,它将检查占用情况并关闭。但是,如果用户创建了一个计划的例程来打开灯,则应禁用占用检查。
我在documentation中看不到Turn On指令中的任何内容,它可以指示请求的来源。
是否有我错过的指标?我可以添加一些指标吗?还是有人使用了不同的方法来完成类似的功能?
"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询问:“嘿,因为您喜欢盲猴技能,您想尝试盲猪吗?”然后您说“是”。