【问题标题】:Having trouble displaying Multiple Home Card Display on Alexa in Single Response在单一响应中在 Alexa 上显示多个家庭卡显示时遇到问题
【发布时间】:2016-05-16 13:04:04
【问题描述】:

我有一个在 ALEXA (Amazon Echo) 上运行的应用程序。我正在用图像实现家庭卡片显示。如果响应只有一张卡,则何时用于特定呼叫。它显示得很好。附上截图

"Response": {
  "version" : "1.0",
  "sessionAttributes": {
    "UserCityId": "1",
    "UserCity": "London",
    "latitude": "51.50735090",
    "longitude": "-0.12775830",
    "categoryID": "900",
    "company_id": "1154916",
    "first_name": "User FName",
    "yes_no_for": "",
    "cat_start_limit": "0",
    "categoryName": "music",
    "total_cat_events": "2178",
    "show_rec": "5"
  },
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "This is what alexa speaks out"
    },
    "card": {
      "type": "Standard",
      "title": "Music events in London",
      "text": "The speech passed to alexa",
      "image": { 
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
     },
    "reprompt": {
      "outputSpeech": {
        "type": "PlainText",
        "text": "Would you like to know events for music ,sports, or something else. Please select one category"
      }
    },
     "shouldEndSession": false
  }
}

上面的代码有效

问题如下: 但是,如果相同的响应有一系列卡片(多张卡片),则 alexa 将无法给出错误。

"Response": {
  "version": "1.0",
  "sessionAttributes": {
    "UserCityId": "1",
    "UserCity": "London",
    "latitude": "51.50735090",
    "longitude": "-0.12775830",
    "categoryID": "900",
    "customer_id": "1154916",
    "first_name": "UserFNAME",
    "yes_no_for": "",
    "cat_start_limit": "0",
    "categoryName": "music",
    "total_cat_events": "2178",
    "show_rec": "5"
  },
  "response" : {
    "outputSpeech" : {
      "type": "PlainText",
      "text": "5th. Baba Yaga's Hut Presents Jambinai, at Corsica Studios, on Monday, May 16th , 7 30 pm"
    },                
    "card": [{
      "type": "Standard",
      "title": "Music events in London",
      "text": "1. Dove Jones Blues Jam!, at Phoenix Artist Club, on Monday, May 16th , 7pm",
      "image": {
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
    }, {
      "type": "Standard",
      "title": "Music events in London",
      "text": "2. The Hillbilly Moon Explosion, at The Borderline, on Monday, May 16th, 7pm",
      "image": {
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
    }, {
      "type": "Standard",
      "title": "Music events in London",
      "text": "3. Sian Evans Of Kosheen, at 100 Club, on Monday, May 16th , 7 30 pm",
      "image": {
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
    }, {
      "type": "Standard",
      "title": "Music events in London",
      "text": "4. Rinocerose, at The Water Rats, on Monday, May 16th , 7 30 pm",
      "image": {
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
    }, {
      "type": "Standard",
      "title": "Music events in London",
      "text": "5. Baba Yaga's Hut Presents Jambinai, at Corsica Studios, on Monday, May 16th , 7 30 pm",
      "image": {
        "smallImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg",
        "largeImageUrl": "https:\/\/xyz.com\/version\/sports-car-1374425_960_720.jpg"
      }
    }],
    "reprompt": {
      "outputSpeech": {
        "type": "PlainText",
        "text": "Would you like to know events for music ,sports, or something else. Please select one category"
      }
    },
    "shouldEndSession" : false
  }
}

上面的代码不起作用。

这是我要转换的东西:请看截图

对于伦敦通话中的事件,我在单张卡片中获得了 5 个事件的列表。我想为每个事件分配图像并创建它的卡片。

任何人都可以帮助解决该方法并找出在 JSON 响应中使用多卡的问题。 是不是alexa只支持单卡响应?

【问题讨论】:

  • 文档中是否有某些内容让您相信您可以使用多张卡片进行响应?你不能那样做。
  • @sphanley 我只是想弄清楚它是否可以完成?但是知道不可能在一个响应中创建多张卡片。

标签: php json amazon-web-services alexa alexa-skills-kit


【解决方案1】:

响应中的 card 属性采用对象而不是数组。

这是亚马逊在其site 上使用的示例:

{
  "version": "string",
  "sessionAttributes": {
    "string": object
  },
  "response": {
    "outputSpeech": {
      "type": "string",
      "text": "string",
      "ssml": "string"
    },
    "card": {
      "type": "string",
      "title": "string",
      "content": "string",
      "text": "string",
      "image": {
        "smallImageUrl": "string",
        "largeImageUrl": "string"
      }
    },
    "reprompt": {
      "outputSpeech": {
        "type": "string",
        "text": "string",
        "ssml": "string"
      }
    },
    "shouldEndSession": boolean
  }
}

如果您想尝试制作多张卡片,可以尝试发送多个回复,但我也不确定这是否可行。

我认为您最好的选择是针对您的问题考虑与用户进行不同的交互,然后出示多张卡片。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多