チャネル別に分類されたアクティビティ

適用対象: SDK v4APPLIES TO: SDK v4

以下の表は、どのようなイベント (ネットワーク上のアクティビティ) がどのチャネルから発生する可能性があるかを示しています。

各表の凡例を次に示します。

Symbol 意味
ボットが受信することが予想されるアクティビティ
ボットが受信することの ない アクティビティ
ボットが受信できるかどうか、現時点では未定

アクティビティは、意味のある方法で別々のカテゴリに分けることができます。 カテゴリごとに、発生する可能性のあるアクティビティの表を以下に示します。

会話

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
Message
MessageReaction
  • すべてのチャネルがメッセージ アクティビティを送信します。
  • ダイアログを使用する場合、一般に、Message アクティビティは常にダイアログに渡す必要があります。
  • MessageReaction は会話の非常に大きな部分を占めていますが、これは MessageReaction には当てはまらないと考えられます。
  • 論理的に 2 種類の MessageReaction があります (Added と Removed)。

ヒント

"メッセージの反応" は、前のコメントに対する "サムズアップ (賛成、OK、グッドなど)" のようなものです。 これらは順不同で発生する可能性があるため、ボタンと同じように考えることができます。 現在、このアクティビティは Teams チャネルによって送信されます。

ようこそ

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
ConversationUpdate
ContactRelationUpdate
  • チャネルが ConversationUpdate アクティビティを送信するのが一般的です。
  • 論理的に 2 種類の MessageReaction があります (Added と Removed)。
  • ConversationUpdate.Added につなぐことで、ボットの "ウェルカム" 動作を簡単に実装できると想定しがちであり、これが機能する場合もあります。
  • しかし、これは単純化されたものであり、信頼性のある "ウェルカム" 動作を生成するために、ボット実装で状態を使用することが必要な場合もあります。

アプリケーションの機能拡張

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
Event.*
Event.CreateConversation
Event.ContinueConversation
  • Event アクティビティは、Direct Line ("Web チャットとも呼ばれます") の機能拡張メカニズムです。
  • クライアントとサーバーの両方を所有するアプリケーションでは、この Event アクティビティを使用して、サービスを介して独自のイベントをトンネリングできます。

Microsoft Teams

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
Invoke.TeamsVerification
Invoke.ComposeResponse
  • Microsoft Teams では、他の型指定された多数のアクティビティに加え、Teams 固有の Invoke アクティビティがいくつか定義されています。
  • Invoke アクティビティはアプリケーションに固有のものであり、クライアントが定義するものではありません。
  • アクティビティの特定のサブタイプを呼び出すという一般的概念はありません。
  • 現在、ボット上で要求/応答動作をトリガーするアクティビティは Invoke だけです。

これは非常に重要です。ダイアログを使用して OAuth プロンプトを動作させる場合、Invoke.TeamsVerification アクティビティをダイアログに転送する必要があります。

メッセージの更新

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
MessageUpdate
MessageDelete
  • メッセージの更新は、Teams で現在サポートされています。

OAuth

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
Event.TokenResponse

これは非常に重要です。ダイアログを使用して OAuth プロンプトを動作させる場合、Event.TokenResponse アクティビティをダイアログに転送する必要があります。

未分類

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
EndOfConversation
InstallationUpdate
Typing (入力)
Handoff

使用されていないアクティビティ (支払い固有の呼び出しを含む)

  • DeleteUserData
  • Invoke.PaymentRequest
  • Invoke.Address
  • ping

各チャネルでサポートされているアクティビティの概要

Direct Line

  • Message
  • ConversationUpdate
  • Event.TokenResponse
  • Event.*
  • Event.CreateConversation
  • Event.ContinueConversation

Email

  • Message

Facebook

  • Message
  • Event.TokenResponse

GroupMe

  • Message
  • ConversationUpdate
  • Event.TokenResponse

Kik

  • Message
  • ConversationUpdate
  • Event.TokenResponse

Teams

  • Message
  • ConversationUpdate
  • MessageReaction
  • MessageUpdate
  • MessageDelete
  • Invoke.TeamsVerification
  • Invoke.ComposeResponse

Slack

  • Message
  • ConversationUpdate
  • Event.TokenResponse

Skype

  • Message
  • ContactRelationUpdate
  • Event.TokenResponse

Skype Business

  • Message
  • ContactRelationUpdate
  • Event.TokenResponse

Telegram

  • Message
  • ConversationUpdate
  • Event.TokenResponse

Twilio

  • Message

すべてのチャネルに対するすべてのアクティビティの概要表

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Teams Slack Skype Skype Business Telegram Twilio
Message
MessageReaction
ConversationUpdate
ContactRelationUpdate
Event.*
Event.CreateConversation
Event.ContinueConversation
Invoke.TeamsVerification
Invoke.ComposeResponse
MessageUpdate
MessageDelete
Event.TokenResponse
EndOfConversation
InstallationUpdate
Typing (入力)
Handoff

Web チャット

Web チャットは以下を送信します。

  • "message": "text" や "attachments" が含まれます。
  • "event": "name" と "value" が (JSON/文字列として) 含まれます。
  • "typing": ユーザーがオプション ("sendTypingIndicator") を設定した場合、Web チャットは "contactRelationUpdate" を送信しなくなります。 また、Web チャットでは "messageReaction" はサポートされていません。Microsoft はお客様からこの機能のサポートを明示的に要求されたことはありません。

既定では、Web チャットは以下をレンダリングします。

  • "message": アクティビティのオプションに応じて、カルーセルまたはスタックとしてレンダリングします。
  • "typing": 5 秒間レンダリングして非表示にするか、次のアクティビティが発生するまでレンダリングします。
  • "conversationUpdate": 非表示になります。
  • "event": 非表示になります。
  • その他: 警告ボックスを表示します (運用環境で表示されたことはありません)。このレンダリング パイプラインを変更して、カスタム レンダリングを追加、削除、または置換できます。

Web チャットを使用して任意の種類のアクティビティとペイロードを送信できますが、この機能は文書化されておらず、推奨もされていません。 代わりに "event" アクティビティを使用してください。

チャネル別のアクションのサポート

次の表は、それぞれのチャネルでサポートされるカード アクションと推奨されるアクションの最大数を示しています。 ❌ は、そのアクションが、当該のチャネルでは一切サポートされないことを意味します。

\ Direct Line Direct Line (Web チャット) Email Facebook GroupMe Kik Line Teams Slack Skype Skype Business Telegram Twilio
Suggested Actions (推奨されるアクション) 100 100 10 20 13 10 100
カード アクション 100 100 3 20 99 3 100 3

上の表に示されている数値の詳細については、こちらに記載されているチャネル サポート コードを参照してください。

"推奨されるアクション" の詳細については、「入力にボタンを使用する」の記事を参照してください。

"カード アクション" の詳細については、「メッセージにメディアを追加する」の記事の「ヒーロー カードを送信する」セクションを参照してください。

チャネル別のカードのサポート

チャネル アダプティブ カード アニメーション カード オーディオ カード ヒーロー カード Receipt Card (領収書カード) Signin Card (サインイン カード) Thumbnail Card (サムネイル カード) ビデオ カード
Email 🔶 🌐 🌐 🌐
Facebook ⚠🔶
GroupMe 🔶 🌐 🌐 🌐 🌐 🌐 🌐 🌐
Kik 🔶 🌐 🌐
Line ⚠🔶 🌐 🌐
Microsoft Teams
Skype
Slack 🔶 🌐 🌐 🌐 🌐
Telegram ⚠🔶 🌐
Twilio 🔶 🌐 🌐 🌐 🌐 🌐
Web チャット

注意事項: Direct Line チャネルは技術的にすべてのカードをサポートしていますが、それらを実装するかどうかの判断はクライアントに任されます

  • ✔:サポート対象 - カードは完全にサポートされています。ただし、一部のチャネルでは、CardActions のサブセットのみがサポートされている場合や、各カードで許可されるアクションの数が制限されている場合があります。 チャネルによって異なります。
  • ⚠:部分的なサポート - 入力やボタンが含まれているカードは全く表示されないことがあります。 チャネルによって異なります。
  • ❌:サポートなし
  • 🔶:カードは画像に変換されます
  • 🌐:カードは書式なしテキストに変換されます - リンクのクリック、画像の表示、およびメディアの再生が実行できない場合があります。 チャネルによって異なります。

カード、機能、およびチャネルの可能な組み合わせが多数あるため、これらのカテゴリでは、意図的に広範囲を扱い、各チャネルであらゆるカード機能がどのようにサポートされているかを完全には説明していません。 この表は基本的な参照として使用し、目的のチャネルで各カードをテストしてください。