我想根据屏幕大小响应地切换自适应卡片。
例如,“Weather Conpact”和“Weather large”(http://adaptivecards.io/samples/)
如果是 iPhone 屏幕,显示“天气契约”
在桌面屏幕的情况下,显示“天气大”
我认为有必要在服务器端根据UI创建卡片,但如果有只能在客户端处理的方法,我想选择那种方式。
如果你知道上面的方法,请告诉我。
我想根据屏幕大小响应地切换自适应卡片。
例如,“Weather Conpact”和“Weather large”(http://adaptivecards.io/samples/)
如果是 iPhone 屏幕,显示“天气契约”
在桌面屏幕的情况下,显示“天气大”
我认为有必要在服务器端根据UI创建卡片,但如果有只能在客户端处理的方法,我想选择那种方式。
如果你知道上面的方法,请告诉我。
我希望你现在得到答案,无论如何我都会回答,希望它有所帮助因为自适应卡是从 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);
正如您在上面的代码中看到的,我在用户对象中发送设备类型,这将在 session.message.user.DeviceId 的会话对象的 Bot 后端中可用,您可以验证从哪个设备开始的转换并发送
如果是 iPhone 屏幕,则显示“Weather Compact”
在桌面屏幕的情况下,显示“天气大”
因此。