注
アダプティブ カードを利用して、Copilot、Teams、または Outlook のシナリオを構築していますか? アダプティブ カードのニーズに合った新しいワンストップ ショップであるアダプティブ カード ドキュメント ハブをご覧ください。 レスポンシブ レイアウト、アイコン、バッジ、カルーセル、グラフなど、多くの新機能に関する完全なドキュメントを含め、探しているすべてのリソースが用意されています。
アダプティブ カードは、開発者が UI コンテンツを共通で一貫した方法で交換できるようにする、オープンなカード交換フォーマットです。
UI を提供するまったく新しい方法: アダプティブ カードは、アプリとサービスがオープンに交換できる、プラットフォームに依存しない UI スニペットであり、JSON で作成されています。 特定のアプリに配信されると、JSON は周囲に自動的に適応するネイティブ UI に変換されます。 これは、すべての主要なプラットフォームとフレームワークの軽量 UI の設計と統合に役立ちます。
アダプティブ カードは次の目的で作成されます。
ユーザーがどこにいるかを確認する
現代のデジタルライフは慌ただしいです。 ユーザーは、常にデバイス、アプリ、サービスを切り替えて仕事を完了しています。 アダプティブ カードは、アクションにつながるコンテンツを毎日使用するアプリに直接挿入することで、エンゲージメントと効率を高めるのに役立ちます。
既存のアプリに統合する:
- Teams アダプティブ カード: 多くの最新のワーカー向けのデジタル ハブとして、Teams には、アプリを統合するための複数の拡張ポイントが用意されています。 アダプティブ カードを利用した会話型エージェントを使用すると、Web サイトや他のチャネルを介してビジネス ワークフローを大幅に簡素化できます。
- Outlook のアクション可能なメッセージ: 電子メールは長い間インフォメーション ワーカーの命を守ってきました。これで、アクションにつながるコンテンツを受信トレイに直接配信できるようになりました。
- Windows タイムライン: ユーザーが任意のデバイスでアクティビティを再開できるようにします。
アプリを開いて拡張性を高める
あなたのアプリと統合を望んでいる開発者のコミュニティが広がっていますが、彼らのコンテンツが違和感なく調和するように、安全に統合するにはどうすれば良いでしょうか。 アダプティブ カードは常にネイティブであり、周囲の UI にシームレスに組み込まれ、すべての主要なプラットフォームで動作します。
- ネイティブ パフォーマンス: アダプティブ カードは、任意のプラットフォームでネイティブ UI をレンダリングします。
- 周囲の UI に適応します。カードは周囲の UI に自動的に適応します。
- 完全に拡張可能: スキーマは自由に使用できるため、独自の要素を追加できます。
- 動的および対話型: 対話機能は、カスタム コード挿入のリスクを軽減するために宣言的に表現されます
どこでもカードをデザインする
ユーザーをこの Web サイトに送信してカードをデザインする必要はありません。 アダプティブ カードが周囲に溶け込むのと同じように、アダプティブ カード デザイナーも同様です。 SDK には、カード ワークフローを既存のツールチェーンに深く統合できる完全な構成 API が含まれています。
再利用可能なテンプレートを作成、共有、検出する
任意の種類のデータを即座に表示できる場合はどうでしょうか。 独自のアプリのデータ、組織のデータ、Web からのデータなどです。 アダプティブ カード テンプレートを使用すると、データをカード レイアウトから分離でき、新しいテンプレート サービスと組み合わせて、カード交換のまったく新しいエコシステムが可能になります。
- 豊富なデザイナー統合: サンプル データを使用すると、デザイナーを離れることなくテンプレートをプレビューできます。
- 開発ワークフローを簡略化する: デザイナーでテンプレートを作成し、サービスなしで使用してから、デザイナーに貼り付けて変更を加えます。
- REST サービスを使用してテンプレートを検出して共有する: テンプレート サービスは、データのテンプレートを検索し、自動的に設定します。
- お客様からのご意見をお待ちしております。このプレビューのリリース日はまだありませんが、ご意見をお待ちしております。
動作のしくみ
カード作成者は 、そのコンテンツを単純な JSON オブジェクトとして記述します。 そのコンテンツは 、ホスト アプリケーション内でネイティブにレンダリングされ、ホストの外観に自動的に適応します。
たとえば、Contoso Bot は Bot Framework を通じてアダプティブ カードを作成でき、Skype に配信されると、Skype カードのように見えます。 同じペイロードがMicrosoft Teamsに送信されると、Microsoft Teamsのように見えます。 より多くのホスト アプリがアダプティブ カードのサポートを開始すると、その同じペイロードがこれらのアプリケーション内で自動的に点灯しますが、アプリに完全にネイティブな感じがします。
ユーザーが勝つのは、すべてが使い慣れていると感じるからです。 ホスト アプリはユーザー エクスペリエンスを制御するため、優先されます。 カード作成者は、追加作業なしでコンテンツのリーチが広がるため、勝ちます。
目標
アダプティブ カードの目標は次のとおりです。
- ポータブル - 任意のアプリ、デバイス、UI フレームワークに
- オープン - ライブラリとスキーマはオープン ソースであり、共有されています
- 低コスト - 定義が簡単で、使いやすい
- 表現力 - 開発者が作成したいコンテンツのロングテールを対象とする
- 純粋な宣言型 - コードは必要ありません。または許可されていません
- 自動的にスタイル設定 - ホストアプリケーションのUXとブランドガイドラインに従う
カード作成者向け
アダプティブ カードは、カード作成者に最適です。
- 1 つのスキーマ - 1 つの形式を取得し、カードの作成コストを最小限に抑え、使用できる場所の数を最大化します。
- 表現が豊か - 塗り分けするパレットが豊富なため、コンテンツが言いたい内容とより密接に一致する可能性があります。
- 広範な範囲 - コンテンツは、新しいスキーマを学習しなくても、より広範なアプリケーションのセットで機能します。
- 入力コントロール - カードを表示しているユーザーから情報を収集するための入力コントロールをカードに含めることができます。
- より優れたツール - オープンカードエコシステムは、すべての人が共有するより良いツールを意味します。
エクスペリエンス所有者向け
サードパーティのコンテンツのエコシステムを活用したいアプリ開発者は、次の理由からアダプティブ カードが好きです。
- 一貫性のあるユーザー エクスペリエンス - レンダリングされたカードのスタイルを所有しているため、ユーザーに一貫したエクスペリエンスが保証されます。
- ネイティブ パフォーマンス - UI フレームワークを直接対象としているため、ネイティブ パフォーマンスが得られます。
- 安全 - コンテンツは安全なペイロードで配信されるため、生のマークアップとスクリプトに UI フレームワークを開く必要はありません。
- 実装が簡単 - 既製のライブラリを利用することで、サポートしている任意のプラットフォームに簡単に統合できます
- 無料のドキュメント - 独自のスキーマを発明、実装、文書化する必要がないため、時間を節約できます。
- 共有ツール - カスタム ツールを作成する必要がないため、時間を節約できます。
主要な設計原則
アダプティブ カードは、設計を軌道に乗らせるために役立つ一連の 基本原則 によって駆動されます。
ピクセル パーフェクトではなくセマンティック
私たちは、純粋なピクセル完璧なレイアウトではなく、セマンティック値と概念のために可能な限り努力してきました。 セマンティック式の例は、色、サイズ、FactSet や ImageSet などの要素に表示されます。 これらすべてにより、ホスト アプリケーションは実際の外観に関してより良い意思決定を行うことができます。
カード作成者がコンテンツを所有し、ホスト アプリが外観を所有している
カードの作成者は言いたいことを所有していますが、それを表示するアプリケーションは、アプリケーションのコンテキストでカードの外観を所有しています。
シンプルで表現力豊かな
アダプティブ カードを表現力と汎用にしたいが、UI フレームワークを構築することは望まない。 目標は、Markdown がドキュメントに対して十分に表現できるのと同じ方法で、"表現力が十分に高い" 中間レイヤーを作成することです。
Markdown では、シンプルで表現力のあるものに焦点を当てることで、ドキュメント コンテンツの簡単で一貫性のある説明を作成しました。 同様に、アダプティブ カードは、カードのコンテンツを記述するシンプルで表現力豊かな手段を作成することができると考えています。
迷ったときは、控えましょう。
間違って生きるよりも後で追加する方が簡単です。 何かを追加する必要があるかどうかを議論する場合は、除外することを選択しました。サポートする必要がなかったレガシを使用するよりも、プロパティを追加する方が常に簡単です。