【问题标题】:Alexa skill developed in node.js doesn't display any card在 node.js 中开发的 Alexa 技能不显示任何卡片
【发布时间】:2018-10-04 11:14:56
【问题描述】:

在 node.js 中开发的 Alexa 技能不会在 Alexa 应用程序的主页中显示任何卡片,对于带有 npm 包 'alexa-sdk' 的简单或标准卡片类型。 'Alexa-sdk' 包的 response.js 文件中似乎存在问题。 我使用了以下方法

'THREE_D_QuestionIntent': function() {

    let reply = " Here’s a list"
    let speechOutput = reply;
    let repromptSpeech = "Question";
    let cardTitle = resultCardTitle;
    let cardContent = "Result is ";
    let imageObj = "https://s3.amazonaws.com/visitmadison/HTML/shape.png";

    console.log(speechOutput);

    this.emit(':askWithCard', speechOutput, repromptSpeech, cardTitle, cardContent, imageObj);
  }

【问题讨论】:

    标签: node.js alexa alexa-skills-kit alexa-app alexa-sdk-nodejs


    【解决方案1】:

    对于带有图像的标准 Alexa 卡,您必须包含一个带有 smallImageUrllargeImageUrl 属性的图像对象。 smallImageUrllargeImageUrl 是要显示的图像的大小版本的 URL。

    例如,响应 JSON 将具有:

    ...
    "card": {
          "type": "Standard",
          "title": "Ordering a Car",
          "text": "Your ride is on the way",
          "image": {
            "smallImageUrl": "https://carfu.com/resources/card-images/race-car-small.png",
            "largeImageUrl": "https://carfu.com/resources/card-images/race-car-large.png"
          }
        }
    ...
    

    使用同时具有smallImageUrllargeImageUrl 的图像对象更新您的代码

    var speechOutput = 'your speech here';
    var repromptSpeech = 'your re prompt here';
    var cardTitle = 'card title here';
    var cardContent = 'card content here';
    var imageObj = {
       "smallImageUrl": "https://carfu.com/resources/card-images/race-car-small.png",
       "largeImageUrl": "https://carfu.com/resources/card-images/race-car-large.png"
    };
    this.emit(':askWithCard', speechOutput, repromptSpeech, cardTitle, cardContent, imageObj);
    

    更多关于标准卡here

    卡片图像必须满足某些条件,例如:

    1. Image Format and Size
    2. Hosting the Images

    【讨论】:

    • 响应不只包含卡片类型,imageObj 不是问题 { "body": { "version": "1.0", "response": { "outputSpeech": { " type": "SSML", "ssml": "你说汗流浃背的人是你的事。" }, "reprompt": { "outputSpeech": { "type": "SSML", "ssml ": " 您还可以在您的 Alexa 应用中查看该列表。您希望通过电子邮件将此列表发送给您吗?" } }, "shouldEndSession": false }, "sessionAttributes": {}, "userAgent ": "ask-nodejs/1.0.25 Node/v6.10.3" } }
    • 检查您的卡是否满足这些条件。
    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多