如何更改 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 技能卡上的背景图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何结束自定义 Alexa 技能的会话?

自定义 Alexa 技能的权限说 - “此语音模型不支持权限”

Alexa 技能包与 Alexa 语音服务

如何加载测试Alexa的技能

从 Alexa 向 API 进行身份验证

如何使用 Amazon Alexa 访问本地 API