BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

面向Amazon Echo Show的Skills开发

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 谢丽 关注 11 他的粉丝 发布于 2017年7月10日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

最近推出的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请求,提供了DisplayAudioPlayerVideoApp接口:

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

一旦你知道你将在上面运行Skill的设备支持显示,你就可以把要显示的内容放入响应的Display.RenderTemplate指令中显示出来。例如,你可以使用一个名为BodyTemplate1body模板显示一段文本和一张图片,如下所示:

{
  "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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT