【问题标题】:How to switch to Adaptive Cards responsively如何响应地切换到自适应卡片
【发布时间】:2018-04-18 09:35:15
【问题描述】:

我想根据屏幕尺寸切换自适应卡片。

例如,“Weather Conpact”和“Weather large”(http://adaptivecards.io/samples/)

  • 如果是 iPhone 屏幕,显示“天气契约”

  • 如果是桌面屏幕,显示“天气大”

我认为有必要在服务器端根据UI创建卡片,但是如果有只能在客户端处理的方法,我想选择那种方式。

如果你知道上面的方法,请告诉我。

【问题讨论】:

  • 您使用什么客户端连接到机器人?

标签: botframework adaptive-cards


【解决方案1】:

希望你现在已经得到答案,无论如何我都会回答,希望对你有帮助 由于自适应卡是从 BOT 后端(C# 或 NodeJS)服务器发送的,因此您没有太多控制渲染自适应卡客户端。所以更好的方法是在连接到 Bot 本身时发送一些参数,如果您使用的是 WebChat Channel,那么您可以这样做:

    BotChat.App({
    user: {
        id: $parameters.userId, name: $parameters.userName,
        deviceType: $parameters.DeviceId,
        platform: $parameters.Platform,
    },
    bot: { id: model.botId, name: model.botName },
    resize: 'window',
    locale: 'en',
    sendTyping: true,
    directLine: {
        secret: model.secret,
        token: model.token,
        domain: model.directLineUrl,
        webSocket: true
    }
}, chatBotElement);

正如您在上面的代码中看到的,我在用户对象中发送设备类型,这将在会话对象的 Bot 后端中可用,在 session.message.user.DeviceId 此处您可以验证从哪个设备开始的转换和发送

  • 如果是 iPhone 屏幕,显示“Weather Compact”

  • 如果是桌面屏幕,显示“天气大”

因此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-17
    • 2020-06-15
    • 2020-07-07
    • 2021-02-06
    • 2021-11-14
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多