Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Botframework 如何响应地切换到自适应卡_Botframework_Adaptive Cards - Fatal编程技术网

Botframework 如何响应地切换到自适应卡

Botframework 如何响应地切换到自适应卡,botframework,adaptive-cards,Botframework,Adaptive Cards,我想根据屏幕大小相应地切换自适应卡 例如,Weather Conpact和Weather large 如果是iPhone屏幕,则显示天气状况 如果是桌面屏幕,则显示天气状况 我认为有必要在服务器端根据UI创建卡,但是如果有一种方法只能在客户端处理,我希望选择这种方式 如果你知道上面的方法,请告诉我。我希望你现在已经得到了答案,我还是会回答的,希望对你有所帮助 由于自适应卡是从BOT backendC或NodeJS服务器发送的,因此您无法在客户端控制渲染自适应卡。因此,更好的方法是在连接到Bot本

我想根据屏幕大小相应地切换自适应卡

例如,Weather Conpact和Weather large

如果是iPhone屏幕,则显示天气状况

如果是桌面屏幕,则显示天气状况

我认为有必要在服务器端根据UI创建卡,但是如果有一种方法只能在客户端处理,我希望选择这种方式


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

我希望你现在已经得到了答案,我还是会回答的,希望对你有所帮助 由于自适应卡是从BOT backendC或NodeJS服务器发送的,因此您无法在客户端控制渲染自适应卡。因此,更好的方法是在连接到Bot本身时发送一些参数,如果您使用的是WebChat频道,则可以执行以下操作:

    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);
正如您在上面的代码中看到的,我正在用户对象中发送设备类型,该类型将在会话对象的session.message.user.DeviceId中的Bot后端中可用。在这里,您可以验证从哪个设备开始的转换并发送

如果是iPhone屏幕,则显示Weather Compact

如果是桌面屏幕,则显示天气状况


因此

我希望你现在已经得到了答案,我还是会回答的,希望能有所帮助 由于自适应卡是从BOT backendC或NodeJS服务器发送的,因此您无法在客户端控制渲染自适应卡。因此,更好的方法是在连接到Bot本身时发送一些参数,如果您使用的是WebChat频道,则可以执行以下操作:

    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);
正如您在上面的代码中看到的,我正在用户对象中发送设备类型,该类型将在会话对象的session.message.user.DeviceId中的Bot后端中可用。在这里,您可以验证从哪个设备开始的转换并发送

如果是iPhone屏幕,则显示Weather Compact

如果是桌面屏幕,则显示天气状况


因此

您使用哪个客户端连接到bot?您使用哪个客户端连接到bot?