Microsoft Teams アプリとは

完了

Microsoft Teams プラットフォーム上に構築されたアプリは、ホストする Web アプリとサービスを使用して Microsoft Teams クライアント (Web、モバイル、デスクトップ) を拡張します。 Teams プラットフォームは、アプリを構築する場合に活用できるように、豊富で柔軟な機能拡張ポイント、UI 構成、API のセットを提供しています。 アプリは、既存の Web サイトをチームのタブに埋め込むだけのシンプルなものから、充実した機能を備えたマルチ ファセット アプリまで、Teams クライアントの幅広い範囲にわたってユーザーを魅了することができます。 既存のアプリを統合することも、Teams 用に構築された新しいエクスペリエンスを作成することもできます。

Microsoft Teams プラットフォームを使用すれば、アプリがインストールされているチームやチャネルに関する情報や、アプリをトリガーするメッセージなど、様々な Microsoft Teams API から利用可能なコンテキスト固有の情報を使用してサービスを強化することができます。 個人ユーザー、チーム、組織全体向けにアプリを作成したり、すべてのユーザーが使用できるようにアプリをパブリック アプリ ストアに公開したりすることができます。

Microsoft Teams アプリを構成するもの

Microsoft Teams プラットフォーム上に構築されたアプリは、次の 3 つの主要なコンポーネントで構成されます。

  • Microsoft Teams クライアントは、アプリがユーザーを魅了するために使用する拡張ポイントと UI 要素を提供します。
  • Microsoft Teams に Teams アプリ パッケージがインストールされています。 小さなアイコン、大きなアイコン、マニフェスト JSON ファイルが含まれています。 マニフェスト ファイルには、アプリのメタデータ (アプリ名、開発者名など)、アプリが使用する機能拡張ポイント (タブやメッセージングの拡張機能など)、アプリで使用する Web サービスへのポインター (ボットの ID やタブの URL など) が含まれます。
  • ホストしている Web サービス は、アプリを強化する API とロジックを提供します。

Microsoft Teams プラットフォームはホスティング サービスではないことを念頭に置いておきましょう。アプリで使用する Web サービスは、ユーザーがホストし、インターネット経由で HTTPS でアクセスできる状態にしておく必要があります。

Teams クライアントはどこで拡張できますか?

Microsoft Teams クライアントを拡張して、ユーザーがアプリを操作できるようにするには、複数の場所があります。 シナリオに応じて、単一の拡張ポイント (個人用会話ボットのようなもの) に焦点を当てるか、複数の拡張ポイントを組み合わせるかを選択することができます。

Teams、チャネル、グループ チャット

Teams、チャネル、グループ チャットを使用すれば、複数ユーザーによる共同作業が可能になります。 コンテキストを拡張するアプリは、グループや会話内のすべてのメンバーがそれらのアプリを利用できるようにするもので、一般的には、その他の共同作業ワークフローを可能にしたり、新しい社会的相互作用を解放したりすることに焦点を当てています。 アプリは API にアクセスして、会話のメンバー、チーム内のチャネル、チームや会話に関するメタデータについての情報を取得することができるようになります。

これらは次のように拡張することができます。

  • 会話、通話、オンライン メディア ボットを チャットを介して会話のメンバーと対話したり、イベント (新しいメンバーが追加されたり、チャネルの名前が変更されたりなど) に応答したりできます。 このコンテキストでのボットとの会話はすべて、チャネルやグループのすべてのメンバーに表示されるので、会話がすべてのユーザーに関連性のあるものであることを確認する必要があります。
  • チャネルおよびグループ チャット タブ は、インストールされているチャネルまたはグループ チャット用に構成された全画面表示の埋め込み Web エクスペリエンスを提供します。 すべてのメンバーは同じ共有 Web アプリ上で会話するため、ステートレスなシングル ページ アプリ エクスペリエンスが一般的です。
  • 外部サービスがメッセージ交換にメッセージを投稿できるようにする Webhook とコネクタ。 カードやカード アクションを活用して、リッチで操作可能なメッセージを作成することができます。 Webhook は、チャネルにメッセージを投稿するためのシンプルで認証されていない、一方向の方法を提供します。その一方でコネクタは、Webhook よりもわずかに堅牢な往復エクスペリエンスを提供します。

個人用アプリ

個人用アプリとは、1 人のユーザーとのやりとりに焦点を当てた Teams アプリの部分です。 そのエクスペリエンスは、ユーザーごとに固有となっています。 アプリのこの部分を左側のナビゲーション レールに固定することで、ユーザーはワンクリックでアクセスできるようになります。

これらには、次のものが含まれます。

  • ユーザーと 1 対 1 で会話する 会話、通話、オンライン メディア ボット。 これはプライベートな会話であるため、アプリがユーザーとの複数回の会話を必要とする場合や、ある 1 人のユーザーにのみ関連する通知を提供する場合には、一般的に個人用アプリでそういったやりとりを行うのが最適です。
  • 全画面の組み込み Web エクスペリエンスを提供する個人用タブ

メッセージ

メッセージは、Teams での共同作業において中核的な役割を果たします。 メッセージングの拡張機能のアクション コマンドを使用すると、ユーザーがアプリでアプリの API をメッセージから呼び出すことができ、メッセージの内容をアプリに送信して処理やアクションを行うことができます。 アプリは、ユーザーにフォーム (タスク モジュール) を提示して応答し、詳細情報の収集、元のメッセージへの返信の送信、またはユーザーへのメッセージの直接送信を行うことができます。

メッセージの作成

アプリは、ユーザーが外部システムで検索やアクションを行うことができるようにすることで、より効果的なメッセージを作成し、アクション可能なボタンを備えたリッチで構造化されたフォーマットに結果を挿入することができます。

ユーザーによる良いメッセージの作成をサポートする 3 つの方法がアプリにはあります。

  • メッセージングの拡張機能 - アクション コマンドは、ユーザーにモーダル フォーム (タスク モジュール) を提示し、フォームの結果をアプリに送信してから、会話に直接メッセージを挿入するか、ユーザーが会話に送信する前に、編集可能なメッセージの一部を作成します。
  • 外部システムを素早く検索し、その検索結果をプレビューし、結果をリッチ カードとしてチャットに挿入できるようにするメッセージングの拡張機能 - 検索コマンド
  • お客様が関心を持っている Web ドメインをアプリが監視できるようにするメッセージングの拡張機能 - リンクの展開。 そのドメインを含む URL をメッセージの作成ボックスに貼り付けると、アプリの API が呼び出され、リッチ カードをメッセージに追加して、リンクされているアイテムに関する追加の情報を追加することができるようになります。

会議アプリ

会議ではコラボレーション、パートナーシップ、事前に連携された十分な情報に基づくコミュニケーション、及びフィードバックの共有が可能です。 会議アプリは、会議のライフサイクルの各段階でユーザー エクスペリエンスを提供できます。

会議のライフサイクルには、出席者の状態に応じた会議前、会議中、会議後のアプリ エクスペリエンスが含まれます。

ユーザー インターフェイス (UI) 要素

また、Microsoft Teams プラットフォームは、拡張性の点で便利で柔軟な UI 要素をアプリに提供しています。 これらの要素を使用すれば、Teams クライアントのネイティブであるように感じられるリッチなエクスペリエンスを作成することができます。

カードとカード アクション

カードは、複数のプロパティや添付ファイルを含むことができる、スキーマ化された JSON で定義されたユーザー インターフェースのコンテナーです。 カードには、書式付きテキスト、メディア、コントロール (ドロップダウン ボックスやラジオ ボタンなど)、カード アクションをトリガーするボタンなどを含めることができます。 カード アクションは、アプリの API にペイロードを送信したり、リンクを開いたり、認証フローを開始したり、会話にメッセージを送信したりすることができます。 Microsoft Teams プラットフォームでは、アダプティブ カード、ヒーロー カード、サムネイル カードなど、複数のカードの種類をサポートしています。 カードはカード コレクションに結合して、一覧やカルーセルに表示することができます。

タスク モジュール (ダイアログ)

タスク モジュールを使用すると、Teams アプリケーションでモーダル ポップアップ エクスペリエンスを作成することができます。 ポップアップ内で、独自のカスタム HTML/JavaScript コードを実行したり、YouTube や Microsoft Stream ビデオなどの <iframe> ベースを表示したり、アダプティブ カードを表示したりすることができます。 これらは特に、タスクの開始や完了、ビデオや Power BI ダッシュボードなどのリッチ情報の表示に役立ちます。 一般にポップアップ エクスペリエンスは、タブや会話ベースのボット エクスペリエンスに比べて、より自然にユーザーがタスクを開始したり完了したりできるようになっています。

アプリでは、アプリや Teams クライアントを介してユーザーを案内するのに役立つ URL ディープ リンクを作成することができます。 ディープ リンクは Teams 内のほとんどのエンティティに対して作成することができ、一部のエンティティ (新しい会議出席依頼など) では、クエリ文字列を使用して URL に情報を事前設定しておくことができます。 たとえば、会話ボットは、タスク モジュールへのディープ リンクを持つチャネルにメッセージを送信し、その結果、カードはユーザーに 1 対 1 のメッセージとして送信され、そこには特定の日時に特定のユーザーとの新しい会議を作成するディープ リンクが含まれています。 ディープ リンクを使用すれば、アプリで利用可能なさまざまな拡張ポイントを横断的に接続し、ユーザーを正しいコンテキストに維持することができます。

Web コンテンツ ページ

Web コンテンツ ページとは、タブやタスク モジュールに埋め込むことができる、お客様がホストする Web ページのことです。 Microsoft Teams クライアントに Web ページを埋め込むには、以下が必要です。

  • HTTPS エンドポイントでホストする。
  • Teams クライアントによって に <iframe> 埋め込まれるサポート。
  • Microsoft Teams JavaScript クライアント SDK を含めて、ページの読み込み時に SDK の initialize() メソッドを呼び出すこと。

要約

Microsoft Teams アプリは、Microsoft Teams プラットフォームを通じて利用できる機能拡張ポイントと UI 要素を利用する、Microsoft Teams の外部でホストされる Web サービスのコレクションです。