如何检测Alexa模拟器的使用

时间:2018-06-27 10:33:24

标签: simulator alexa alexa-skills-kit

我正在为Alexa开发,特别是Show设备上显示的视觉元素。

如果您生成视觉元素并将其交付给不支持它们的设备,则会出现错误。

模拟器不支持视觉元素,因此我编写代码来解决此问题。不幸的是,这导致在我仅使用Echo时最终传送失败。

我不想编写测试代码,然后将其更改为实时交付。有没有一种方法可以检测到正在使用模拟器,从而可以隔离此实例的代码。

1 个答案:

答案 0 :(得分:0)

Alexa请求JSON包含context下的设备信息:

{
   "context":{
       "System": {
           "device":{
               "supportedInterfaces":{
                    "Display":{},
                    "AudioPlayer": {},             
                    "VideoApp":{}
                }
            }
        }
    }
}

您可以通过event.context.System.device.supportedInterfaces.Display

找到它

supportedInterfaces可以包含AudioPlayerDisplay和/或VideoApp

如果未在supportedInterfaces下列出,则不支持。


Alexa Simulator应该在受支持的界面下提供“显示”。
See here:

  

注意:Alexa Simulator的行为类似于带有屏幕的设备,例如Echo Show或Echo Spot。这意味着发送给您的技能的请求中的context.System.device.supportedInterfaces属性始终包含Display界面。此外,该模拟器不支持同时在多个浏览器选项卡中使用。


要使Alexa Simulator像回声秀一样显示,您需要在顶部启用“回声秀显示”。

Alexa Simulator Options Bar