我正在为Alexa开发,特别是Show设备上显示的视觉元素。
如果您生成视觉元素并将其交付给不支持它们的设备,则会出现错误。
模拟器不支持视觉元素,因此我编写代码来解决此问题。不幸的是,这导致在我仅使用Echo时最终传送失败。
我不想编写测试代码,然后将其更改为实时交付。有没有一种方法可以检测到正在使用模拟器,从而可以隔离此实例的代码。
答案 0 :(得分:0)
Alexa请求JSON包含context
下的设备信息:
{
"context":{
"System": {
"device":{
"supportedInterfaces":{
"Display":{},
"AudioPlayer": {},
"VideoApp":{}
}
}
}
}
}
您可以通过event.context.System.device.supportedInterfaces.Display
supportedInterfaces
可以包含AudioPlayer
,Display
和/或VideoApp
如果未在supportedInterfaces
下列出,则不支持。
Alexa Simulator应该在受支持的界面下提供“显示”。
See here:
注意:Alexa Simulator的行为类似于带有屏幕的设备,例如Echo Show或Echo Spot。这意味着发送给您的技能的请求中的context.System.device.supportedInterfaces属性始终包含Display界面。此外,该模拟器不支持同时在多个浏览器选项卡中使用。
要使Alexa Simulator像回声秀一样显示,您需要在顶部启用“回声秀显示”。