チャットアプリ

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

チャットアプリ(略して「アプリ」)は、Google Chat で実行されるウェブ アプリケーションまたはサービスです。

Chat アプリは、Chat API から同期イベントを受信できます。たとえば、ユーザーからメッセージを受け取ったり、スペースに追加されたりすると、さまざまな方法でイベントに応答できます。

  • Google Chat でシンプルなテキスト メッセージまたはインタラクティブなカード メッセージをユーザーに送信する。
  • フォームのデータの入力など、複数のステップを経るプロセスをユーザーが完了できるように、ダイアログを開きます。
  • リンクを展開して、会話に直接アクションにつながる有益な情報を記載したカードを添付します。

Chat アプリでは、Chat API を使用して REST リソースにアクセスすることで、Chat のデータと非同期に連携することもできます。Chat REST リソースの一般的な用途は次のとおりです。

  • メッセージを作成、削除、更新する。
  • スペースで会話しているユーザーと chat bot を一覧表示します。
  • chat bot が追加されているスペースをすべて表示します。

Chat アプリの多くが、外部のウェブアプリやサービスに接続して Google Chat と統合しています。

アプリによるユーザーデータへのアクセス

アプリの呼び出し時に、そのアプリが有用な方法で動作するには、呼び出し元、コンテキスト、起動元の処理方法を指定する必要があります。この基本の ID データ以外のデータにアクセスするには、認証によってアプリにアクセス権を付与する必要があります。

  • デフォルトでは、アプリは、アプリを発信したユーザーまたはアプリを呼び出しているメッセージ内で名前リンクが付けられたユーザーの基本的な ID のみを読み取ることができます。この情報には、ユーザーの表示名、ユーザー ID、メールアドレス、アバター画像が含まれます。
  • リンク プレビュー機能があるアプリでは、メッセージで追加された URL を、アプリの設定された URL パターンに一致するものを読み取ることができます。
  • 拡張機能を提供するためにアプリが他のデータにアクセスする必要がある場合は、そのデータにアクセスできるように認証を設定します。ユーザーデータにアクセスしようとする場合、アプリはユーザーにアクセス権を求めるプロンプトを出します。ユーザーはアクセスを付与する必要があります。

ユーザーからの独立性

アプリは特定のユーザーには関連付けられません。ドメイン内のユーザーは誰でも、スペースにアプリを追加したり削除したりできます。スペースにアプリが追加されると、ドメイン内のすべてのユーザーが @メンションできるようになります。ドメイン外の外部ユーザーはアプリにアクセスできません。

アプリのユースケース

Google Chat などの会話型プラットフォームにアプリを追加すると、コンテキストを変更せずに、ユーザーに質問やコマンドの実行などを行うことができます。アプリは、バックエンドで他のシステムにアクセスし、それらのシステムの仲介役として機能します。

統合された認知エクスペリエンスを維持しながら、幅広いリソースとツールへのアクセスを提供するこの機能により、次のような多くのタイプのアプリケーションに優れたフレームワークを提供できます。

  • ワークフロー管理
  • 設定
  • 注文の生成
  • 検索
  • データの収集

具体例

Chat スペース内から行うアプリへの低レベルの要求の例を以下に示します。

  • 情報検索 - アプリは、ユーザーが入力した構造化されたテキストクエリまたは自由なテキストクエリに基づいて情報を取得できます。
  • ファイル チケット - アプリは、ユーザーから提供された情報を使用して、インシデント レポートやその他のアーティファクトを生成できます。
  • 調整への取り組み - アプリは、「チームメモリ」やスケジュール リソースなどを提供することで、チームメンバー間の連携を促進できます。

Google Workspaceとの統合

Google Workspaceと統合される Google Chat アプリをビルドすることを検討している場合は、Apps Script でアプリを実装することを検討してください。 これにより、アプリは Google スプレッドシート、Google スライド、Google ドキュメント、Google カレンダーなどのGoogle Workspace サービスとデータに簡単にアクセスできるようになります。

Google Chat API

Google Chat API には、アプリを Chat スペースや DM に統合する方法は数多くありますが、アプリロジックを実装する手段は特に決まっていません。簡単なコマンド ドリブン アプリを作成することも、任意の種類の言語処理や AI サービスまたはモジュールを使用することもできます。これには、次のようなさまざまなプラットフォームを使用できます。

  • Apps Script
  • Google Cloud Platform
  • クラウドまたはオンプレミスの HTTP サーバー

このトピックの詳細については、アプリ実装アーキテクチャをご覧ください。

標準の機能

Google Chat でアプリを構成する場合は、ID を指定する必要があります。これは次の要素で構成されます。

  • アプリ名
  • アプリのアバター画像
  • アプリ デベロッパーの ID

また、ユーザーがアプリの使用を開始するのを支援するためのヘルプコマンドまたは同等の機能も提供する必要があります。

Google Chat によるアプリのコミュニケーション

アプリは Google Chat でメッセージを受信したり、メッセージを送信したりできます。これらのメッセージでは、定義済みのメッセージ形式が使用されます。これらのメッセージは、Google Chat ではシンプルなテキスト メッセージまたはインタラクティブ カードとして表示されることがあります。

ダイレクト メッセージ(DM)のアプリ

ダイレクト メッセージに応答するようにアプリを構成できます。これにより、1 人のユーザーが 1 対 1 で会話できるようになります。

Chat スペースのアプリ

Chat スペースにアプリを追加すると、そのスペースに表示される特定のコンテンツに応答できるようになります。たとえば、「@foobot」で始まるメッセージが foobot アプリに渡され、レスポンスがチャット スペースに表示されるよう指定できます。次のシーケンス図は、アプリの動作をまとめたものです。

Chat スペースの Chat アプリのシーケンス図

Google Chat は、エンドポイントを介してアプリと通信します。エンドポイントは、次のいずれかのタイプです。

  • HTTP(ウェブサービス)エンドポイントは、さまざまなスタイルのインタラクションに対応できます。
  • Cloud Pub/Sub エンドポイントを使用すると、実装がファイアウォールの内側にある場合でも、Google Chat からのメッセージをリレーするトピックにアプリを登録できます。

Google Chat をアプリに接続するさまざまな方法については、エンドポイントのタイプのセクションをご覧ください。

Google Chat の chatbot

chatbot(bot)とは、人間の対話を多少模倣してやり取りするコンピュータ プログラムのことです。単純なキーワード主導のクエリから、自然言語処理と AI の手法を使用した複雑な会話型システムまで、インタラクションの複雑さはさまざまです。この会話形式の人間とコンピュータの相互作用は、さまざまな種類の有用なアプリケーションのフレームワークとして機能します。

初期の chatbot には、Eliza(1964)や Julia(1994)のような学術的な好奇心が含まれていました。しかし今では、bot はカスタマー サポートや Google アシスタントなどの仮想アシスタントとして、ほかの多くの役割においてインターネット全体で利用されています。

Chat アプリは chatbot と呼ばれます。アプリ名に「bot」を含めると、サービスを楽しく表すことができます。Chat アプリは完全に機能するウェブ アプリケーションとサービスであるため、Chat アプリは単なる「ボット」ではないと考えることをおすすめします。