AnimationCard 适用于模拟器,但不适用于 Messenger

AnimationCard works on emulator but not on Messenger

我正在尝试使用带有文本、GIF 和按钮的 Bot 框架来显示动画卡片。它在 bot 模拟器上完美运行,但不会出现在 Messenger 上。有什么想法吗?

代码

/**Send the question with the level information if available, the index and the Math expression along with a countdown timer as GIF attachment */
let message = new builder.Message(session)
    .text(level ? level + '  \n' + strings.question : strings.question, dialogData.index + 1, question.expression)
    .addAttachment(
    new builder.AnimationCard(session)
        .media([{
            profile: "image/gif",
            url: "https://media.giphy.com/media/l3q2silev6exF53pu/200w.gif"
        }])
        .buttons(buttons)
    // .toAttachment()
    )
session.send(message)

在模拟器上

在 Messenger 上

有什么想法吗? 提前感谢您的建议

更新 1

这是我的控制台上的错误

{"error":{"message":"(#100) 参数 [elements][0][title] 必须是 non-empty UTF-8 编码的字符串","type":"OAuthException","code":100,"fbtrace_id":"CLEcx63w+4N"}}

您需要在动画卡片中添加 title,Messenger 要求所有卡片都包含标题。此外,动画卡片在 Messenger 中的工作方式略有不同,因为它们发送一条带有 .gif 的消息,然后是带有标题和按钮的卡片,而不是像在模拟器中那样将它们放在一张漂亮的卡片中。

在您的用例中,我会使用第一行说明它是什么级别作为标题,将问题作为副标题。但是,此文本将显示在 gif 下方而不是上方,因此它的布局与您现在的布局略有不同。

let message = new builder.Message(session)
    .addAttachment(
    new builder.AnimationCard(session)
        .title(level ? level : 'Level 0')
        .subtitle(strings.question)
        .media([{
            profile: "image/gif",
            url: "https://media.giphy.com/media/l3q2silev6exF53pu/200w.gif"
        }])
        .buttons(buttons)
    )
session.send(message)