最近推出的Amazon Echo Show为开发人员提供了开发Skills集成语音控制、可视化反馈和触摸输入的新机会。Amazon Alexa首席宣传官David Isbitski对开发面向Echo Show的Alexa Skills的要点进行了汇总。
面向Echo Show的自定义Skills可以用于以下四种交互类型:
语音,这一直是交互的主要手段;Alexa应用,用于在移动或Web应用的Cards中显示额外的信息;屏幕显示,允许显示自定义内容,发送给Alexa应用的Cards会默认显示在屏幕上;触屏,让响应触摸动作成为可能。要支持多模式界面,第一步是启用Skill的Render Templates选项,这可以在Skill Information页面实现。有两种模板可以使用:
一个body模板,显示图片和文本;一个list模板,显示可滚动的项目列表。为了在Skill实现中对所有可用的Alexa设备提供恰当的支持,你应该检查设备支持的接口。这可以通过检查随Alexa请求一起提供的event.context.System.device.supportedInterfaces来实现。例如,下面是一个Alexa请求,提供了Display、AudioPlayer和VideoApp接口:
{ "context":{ "device":{ "supportedInterfaces":{ "Display":{}, "AudioPlayer": {}, "VideoApp":{} } } }}一旦你知道你将在上面运行Skill的设备支持显示,你就可以把要显示的内容放入响应的Display.RenderTemplate指令中显示出来。例如,你可以使用一个名为BodyTemplate1的body模板显示一段文本和一张图片,如下所示:
{ "directives": [ { "type": "Display.RenderTemplate", "template": { "type": "BodyTemplate1", "token": "CheeseFactView", "backButton": "HIDDEN", "backgroundImage": ImageURL, "title": "Did You Know?", "textContent": { "primaryText": { "type": "RichText", "text": "The world’s stinkiest cheese is from Northern France" } } } } ]}Echo Show支持的另外一项新特性是视频回放,该功能可以通过Skill Information页面上相应的选项来启用。要开始视频回放,你需要在响应中包含指令VideoApp.Launch,如下所示:
"response": { "outputSpeech": null, "card": null, "directives": [ { "type": "VideoApp.Launch", "videoItem": { "source": "https://www.example.com/video/sample-video-1.mp4", "metadata": { "title": "Title for Sample Video", "subtitle": "Secondary Title for Sample Video" } } } ], "reprompt": null }最后,触摸输入可以通过若干预定义的intents来处理,比如,AMAZON.ScrollUpIntent 、AMAZON.ScrollLeftIntent等,它们会触发执行与之相关的自定义代码。
想要全面地了解Echo Show为开发人员提供的所有可能,请查阅Isbitski的博文。
查看英文原文:Developing Skills for Amazon Echo Show