最近推出的 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
接口:
<pre data-anchor-id="zizw">
{
“context”:{
“device”:{
“supportedInterfaces”:{
“Display”:{},
“AudioPlayer”: {},
“VideoApp”:{}
}
}
}
}
一旦你知道你将在上面运行 Skill 的设备支持显示,你就可以把要显示的内容放入响应的Display.RenderTemplate
指令中显示出来。例如,你可以使用一个名为BodyTemplate1
的 body
模板显示一段文本和一张图片,如下所示:
<pre data-anchor-id="nqkf">
{
“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
,如下所示:
<pre data-anchor-id="hijd">
“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 的博文。
评论