概要

Google Chat には、チームのコラボレーションをサポートする次の機能が用意されています。

  • ユーザー間のダイレクト メッセージ
  • スペース内のスレッド化された会話。
  • プロジェクトごと、チームごとなど、ディスカッション専用のスペースを利用できます。
  • スペースに参加できる、またはダイレクト メッセージに応答できるチャットアプリ。

Google Chat とアプリ間のやり取りは、メッセージを使って特定のスペース内で行われます。たとえば、アプリは特定のチャット スペース(スペースの一種)に単純なテキスト(メッセージのタイプ)を送信する場合があります。

メッセージには、イベント、シンプルなテキスト、カードが含まれます。スペースにはチャットルームやダイレクト メッセージが含まれます。

上の図は、メッセージとスペースで使用できるさまざまな種類のインタラクションとコンテキストを示しています。

  • メッセージでは次のような操作が可能です。

    • アプリへのイベント。
    • アプリからのシンプルなテキスト。
    • アプリのカード。
  • スペースには次のコンテキストがあります。

    • チャットルーム
    • ダイレクト メッセージ

メッセージ

Google Chat とアプリ実装との間のメッセージは、定義済みのメッセージ形式に従います。各メッセージは、コンポーネントがユーザー ID、スタイル、コンテンツなどのメッセージ要素を指定する JSON オブジェクトで構成されます。

アプリと Google Chat のやり取りでは、いくつかの種類のメッセージが使用されます。

アプリ

Google Chat からアプリへのメッセージは「イベント」と呼ばれ、いくつかの異なるタイプがあります。

アプリから

アプリから Google Chat へのメッセージには、次の 2 つのコンテンツのいずれかまたは両方を含めることができます。

  • シンプル テキスト: 書式なしテキストのコンテンツで、テキスト形式が制限されています。
  • カードは、ターゲット スペースに表示されるカードの形式、コンテンツ、動作を定義します。

次の例では、プロジェクト管理アプリがクエリのリストに応答して、カードリストをデータ構造に構築し、それをチャットに返します。Google Chat にカードが表示されます。

プロジェクト管理アプリは、ダイレクト メッセージでユーザーにタスクのリストを表示します。

スペース

Google Chat のスペースとは、チャット スペースとダイレクト メッセージを一般化したものです。スペースの種類ごとに特定のプロパティがありますが(たとえば、Chat スペースは複数のユーザーに表示されますが、ダイレクト メッセージは表示されません)、一般的なコンセプトのスペースが使用されます。

たとえば、どのタイプのスペースであっても、アプリはスペースにメッセージを送信できます。ただし、ターゲット スペースの具体的なタイプによっては、メッセージに対する処理方法に影響する制約が存在する場合があります。