如何更改 Alexa Show 技能卡上的背景图像?
Posted
技术标签:
【中文标题】如何更改 Alexa Show 技能卡上的背景图像?【英文标题】:How do I change the background image on an Alexa Show skill card? 【发布时间】:2018-02-08 17:41:23 【问题描述】:我是 Alexa 技能编程新手,尤其是 Echo Show。我正在尝试将技能卡的背景图像从默认的深灰色更改为其他内容。我知道必须有办法做到这一点,因为当我说“Alexa,给我讲个笑话”时。该技能的背景是红色的。当我说,“Alexa,告诉我勒布朗詹姆斯的事。” Alexa 将背景更改为 LeBron James,文本自动滚动。对此的任何帮助都会很棒。
【问题讨论】:
我认为 AWS 没有将卡片颜色更改为自定义颜色的选项。你唯一能做的就是选择不同的卡片类型,它会给你不同的风格。 【参考方案1】:您确实可以更改 Alexa Show 技能的背景。不幸的是,目前亚马逊不提供除 Show 技能之外的大量样式功能。
display interface reference 是您应该阅读的文档。它将让您了解您的所有调用和响应将如何作为 JSON 对象发送/接收。为了更改背景,您必须选择他们可用的少数模板选项之一,并将背景键和值添加到您的 JSON 响应结构中。
例如,查看您应该从 AWS lambda 函数发回的以下响应结构。它渲染 BodyTemplate2,它在屏幕一侧显示图像,另一侧显示文本。 (这取自显示界面参考)。查看键 "backgroundImage"
和以下值。
"type": "Display.RenderTemplate",
"template":
"type": "BodyTemplate2",
"token": "A2079",
"backButton": "VISIBLE",
"backgroundImage":
"contentDescription": "Textured grey background",
"sources": [
"url": "https://www.example.com/background-image1.png"
],
"title": "My Favorite Car",
"image":
"contentDescription": "My favorite car",
"sources": [
"url": "https://www.example.com/my-favorite-car.png"
]
,
"textContent":
"primaryText":
"text": "See my favorite car",
"type": "PlainText"
,
"secondaryText":
"text": "Custom-painted",
"type": "PlainText"
,
"tertiaryText":
"text": "By me!",
"type": "PlainText"
【讨论】:
是否需要在对话进行时将此指令添加到每个响应中? @AndrewRomanenko 是的,您需要在每次与用户交互后指定设备的状态。由于设备是无状态的,它不记得之前的背景是什么,因此您需要再次将其添加到响应 JSON 中。这有帮助吗? 是的,谢谢。我在模拟器上试过,每次都需要添加图像,不确定在真实设备上的行为是否相同。以上是关于如何更改 Alexa Show 技能卡上的背景图像?的主要内容,如果未能解决你的问题,请参考以下文章