我想根据屏幕尺寸响应性地切换自适应卡。
例如," Weather Conpact"和#34;天气大" (http://adaptivecards.io/samples/)如果是iPhone屏幕,显示" Weather Conpact"
在桌面屏幕的情况下,显示"天气大"
我认为有必要根据服务器端的UI创建一张卡,但是如果有一种方法只能在客户端处理,我想选择那种方式。
如果您知道上述方式,请告诉我。
答案 0 :(得分:0)
我希望您现在能得到答案,无论如何我都会回答,希望能有所帮助 由于自适应卡是从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”
在桌面屏幕上,显示“天气大”
因此。