自适应卡片概述

注释

你是构建由自适应卡片提供支持的 Copilot、Teams 或 Outlook 方案吗? 访问 自适应卡片文档中心,这是所有自适应卡需求的新一站式商店! 它包含要查找的所有资源,包括许多新功能的完整文档,如 响应式布局图标锁屏提醒轮播图表等!

自适应卡片是一种开放的卡片交换格式,可以让开发人员通过常见且一致的方式交换 UI 内容。

提供 UI 的一种全新的方法:自适应卡片是与平台无关的 UI 片段,这些代码片段以 JSON 编写,应用和服务可以公开交换。 传递到特定应用时,JSON 将转换为可自动适应其环境的本机 UI。 它有助于设计和集成所有主要平台和框架的轻型 UI。

自适应卡片适用于:

在用户所在的地方与他们见面

现代数字生活是繁忙的。 用户不断在设备、应用和服务之间切换,以完成工作。 自适应卡片可帮助你通过将可作内容直接注入他们每天使用的应用来提高参与度和效率。

集成到现有应用中:

  • Teams 自适应卡片:作为许多新式工作者的数字中心,Teams 为要与之集成的应用提供了多个扩展点。 由自适应卡片驱动的对话机器人可以大大简化您的网站或其他渠道中的业务流程。
  • Outlook 可操作邮件:电子邮件长期以来一直是信息工作者的命脉,现在可以将可操作内容直接传递到其收件箱。
  • Windows 时间线:帮助用户在任何设备上恢复其活动。

使您的应用程序支持扩展性

有一群开发者希望与您的应用集成,但您如何才能安全地实现这一目标,并使他们的内容不显得格格不入? 自适应卡片始终是原生卡片,可以完美融入周围的 UI,并且适用于所有主要平台!

安装渲染 SDK >

  • 本机性能:自适应卡片在任何平台上呈现本机 UI。
  • 适应周围的 UI:卡片会自动适应周围的 UI。
  • 完全可扩展:架构是开放架构,因此可以添加自己的元素。
  • 动态和交互式:以声明方式表示交互性,以帮助降低自定义代码注入的风险

在任意位置设计卡片

无需让用户访问此网站来设计卡片。 就像自适应卡片能够融入周围环境,自适应卡片设计器也是同样的效果。 SDK 包含完整的配置 API,使你能够将卡片工作流深度集成到现有工具链中。

安装设计器 SDK >

创建、共享和发现可重用模板

如果可以立即显示任何类型的数据,该怎么办? 它可以是你自己的应用数据、组织的数据或来自 Web 的数据。 借助自适应卡片模板化,可以将数据与卡片布局分开,并且结合新的模板服务时,卡片交换的全新生态系统成为可能。

创建可重用卡片模板 >

  • 丰富的设计器集成:示例数据允许预览模板,而无需离开设计器。
  • 简化开发工作流:在设计器中创建模板,在不使用服务的情况下使用它,然后将其粘贴回设计器中以进行更改。
  • 使用 REST 服务发现和共享模板:模板服务查找数据的模板,甚至会为你填充模板。
  • 我们希望听到你的声音:我们还没有此预览版的发布日期,但我们正在等待你学习。

工作原理

卡片作者 将其内容描述为简单的 JSON 对象。 然后,可以在 主机应用程序中本机呈现该内容,并自动适应主机的外观和感觉。

例如,Contoso 机器人可以通过 Bot Framework 创作自适应卡片,当传送到 Skype 时,它将看起来像 Skype 卡。 当相同的有效负载发送到 Microsoft Teams 时,它将呈现出 Microsoft Teams 的外观和体验。 随着更多的主机应用开始支持自适应卡片,相同的有效负载会自动在这些应用程序中亮起,但仍完全原生于应用。

用户会赢,因为一切都感觉很熟悉。 主机应用之所以获胜,是因为它们控制用户体验。 卡片作者之所以获胜,是因为他们的内容在没有任何额外的工作的情况下获得更广泛的影响力。

目标

自适应卡片的目标包括:

  • 可移植 - 任何应用、设备和 UI 框架
  • 开放 - 库和架构是开放源代码和共享的
  • 低成本 - 易于定义、易于使用
  • Expressive - 以开发人员希望制作的长尾内容为目标
  • 纯声明性 - 不需要或允许任何代码
  • 自动设置样式 - 符合宿主应用程序的用户体验和品牌指南

对于卡片作者

Adaptive Cards对卡片作者非常适合。

  • 一种架构 - 您将获得单一模式,最大限度地降低创建卡片的成本,并最大限度地增加其可用场所的数量。
  • 更丰富的表达式 - 你的内容可以更紧密地与你想要说的内容保持一致,因为你有一个更丰富的调色板来绘制。
  • 广泛接触 - 内容将在更广泛的应用程序中工作,而无需了解新的架构。
  • 输入控件 - 卡片可以包含输入控件,以便从正在查看卡片的用户收集信息。
  • 更好的工具 - 开放卡片生态系统意味着更好的工具,由每个人共享。

对于体验所有者

如果你是想要利用第三方内容的生态系统的应用开发人员,你会喜欢自适应卡片,因为:

  • 一致的用户体验 - 可以保证用户的一致体验,因为你拥有呈现的卡片的样式。
  • 本机性能 - 因为它直接针对 UI 框架,所以您将获得本机性能。
  • 安全 - 内容在安全有效负载中传递,因此无需将 UI 框架打开原始标记和脚本。
  • 易于实现 - 你可以从现成的库中轻松集成到你支持的任何平台上
  • 免费文档 - 节省时间,因为无需发明、实现和记录专有架构。
  • 共享工具 - 节省时间,因为无需创建自定义工具。

核心设计原则

自适应卡片由一组指导原则驱动,这些 原则 对于使设计保持正轨非常有用。

关注语义而不是精确的像素细节

我们尽可能力求实现语义和概念,而非追求纯像素的完美布局。 语义表达式的示例以颜色、大小和元素(如 FactSet 和 ImageSet)显示。 所有这些都允许主机应用程序对实际外观做出更好的决策。

卡片作者拥有内容,宿主应用拥有外观与风格。

卡片作者拥有他们想要表达的内容,但显示卡片的应用程序在其应用程序上下文中拥有卡片的外观和感觉。

保持简单,但要富有表现力

我们希望自适应卡片具有表达性和常规用途,但我们不想构建 UI 框架。 目标是创建一个中间层,其表现力与 Markdown 对文档的表达方式相同。

Markdown 专注于保持简单且富有表现力,创建了文档内容的简单且一致的说明。 同样,我们相信自适应卡片可以创建一种描述卡片内容的简单表达方式。

怀疑时,请将其排除在外

后来再添加比忍受错误更容易。 如果我们发现自己在争论是否应该添加某些内容,我们会选择不添加。添加新属性总是比维护我们不希望支持的旧属性更容易。