最近のアクセス:
Facebook Messenger Channels API でサポートされているメッセージタイプ

ここでは、Facebook Messenger Channels API でサポートされているメッセージタイプを示します。この API の詳細については、「Chatbot で Facebook Messenger を使用する方法」を参照してください。
すべての例で GeneXusChannels.Message.SendMessage API を使用しています。

テキストメッセージ

&Message.Text = !"Hello world" //&Message は GeneXusChannels.Message データタイプ
GeneXusChannels.Message.SendMessage(&ChannelConfiguration, &Message, &Messages) //&ChannelConfiguration は ChannelConfiguration SDT。&Messages は GeneXus.Common.Messages

グリッドメッセージ

汎用テンプレート データ タイプにマッピングされます。

Facebook Messenger を使用した Chatbot のサンプル」で SendMessagesFb オブジェクトを確認してください。
基本的には次の処理を行います。
&ChannelConfiguration = GetConfiguration() //チャネルの設定を取得
&Message = GetGOTCharacters()
Do 'SendMessage'

Sub 'SendMessage'
    GeneXusChannels.Message.SendMessage(&ChannelConfiguration, &Message, &Messages)
    msg(Format(!"%1 result: %2", &Message.Text, &Messages.ToJson()), status)    
EndSub
GetGOTCharacters プロシージャーがデータプロバイダー (GOTCharacters) を呼び出し、これが GeneXusChannels.Message パラメーター (この例では &GridMessage) を返します。
&Message ペイロートの Type は「PayloadTypes.Grid」で、Body はメッセージの JSON データに割り当てる必要があります。
GetGOTCharacters プロシージャー:
&GridMessage = GOTCharacters()

&Message.Text = !"The winter is here ;)"
&Message.Payload.Type = PayloadTypes.Grid
&Message.Payload.Body = &GridMessage.ToJson()
GOTCharacters データプロバイダーを確認し、その実装方法を理解してください。
イメージ:44601.png
この例では次のドメインを使用しています。
FacebookGridProperties Facebook のグリッドメッセージに固有のプロパティの定義が含まれるドメインです。データとグリッドのマッピングを助けるために指定します。
FacebookGridProperties.Title グリッドの項目 (ページ) のタイトルを表します。
FacebookGridProperties.Subtitle グリッド項目のサブタイトルまたは説明を表します。
FacebookGridProperties.Image グリッド項目に表示する画像を表します。
FacebookGridProperties.Button グリッドに追加できるボタンを表します。
PayloadTypes さまざまなメッセージタイプが含まれるドメインです。

実行時には、次のように表示されます。
イメージ:44600.png
チャネルの詳細な設定方法については、「Chatbot で Facebook Messenger を使用する方法」を参照してください。

メディアメッセージ

画像やビデオを送信できます。Facebook のメディアテンプレートにマッピングされます。

Facebook Messenger を使用した Chatbot のサンプル」で SendMessagesFb オブジェクトを確認してください。
次のコードを確認します。
&Message = GetGOTAppVideo()
Do 'SendMessage'

Sub 'SendMessage'
    GeneXusChannels.Message.SendMessage(&ChannelConfiguration, &Message, &Messages)
    msg(Format(!"%1 result: %2", &Message.Text, &Messages.ToJson()), status)    
EndSub
仕組みについて理解を深めるためには、GetGOTAppVideo オブジェクトを開きます。
&Message.Text = !"Let me introduce you to the GOT app!"

&MediaMessage = GOTAppVideo()
&Message.Payload.Type = PayloadTypes.Media
&Message.Payload.Body = &MediaMessage.ToJson()

Web ビューメッセージ

チャットで Web サイトのレンダリングを可能にします。Facebook の URL ボタンにマッピングされます。

Facebook Messenger を使用した Chatbot のサンプル」で SendMessagesFb オブジェクトを確認してください。
次のコードを確認します。
&Message = GetGOTWiki()
Do 'SendMessage'

Sub 'SendMessage'
    GeneXusChannels.Message.SendMessage(&ChannelConfiguration, &Message, &Messages)
    msg(Format(!"%1 result: %2", &Message.Text, &Messages.ToJson()), status)    
EndSub
仕組みについて理解を深めるためには、GetGOTWiki オブジェクトを開きます (WebViewMessage を返すデータプロバイダーを呼び出します)。
&Message.Text = !"This is the wiki of GOT:"

&WebViewMessage = GOTWiki()
&Message.Payload.Type = PayloadTypes.WebView
&Message.Payload.Body = &WebViewMessage.ToJson()
GOTWiki データプロバイダーを次に示します。データプロバイダーの出力は WebViewMessage です。
イメージ:44602.png
イメージ:44603.png
この例では次のドメインを使用しています。
FacebookWebViewProperties Facebook の Web ビューに固有のプロパティが含まれるドメインです。
FacebookHeightRatio さまざまな高さ比のオプションが含まれるドメインです。
 
実行時には、次のようになります。
イメージ:44604.png

クイック返信メッセージ

ユーザーが簡単な返信を返せるようにします。Facebook のクイック返信にマッピングされます。

Facebook Messenger を使用した Chatbot のサンプル」で SendMessagesFb オブジェクトを確認してください。
次のコードを確認します。
&Message = GetGOTFavorites()
Do 'SendMessage'

Sub 'SendMessage'
    GeneXusChannels.Message.SendMessage(&ChannelConfiguration, &Message, &Messages)
    msg(Format(!"%1 result: %2", &Message.Text, &Messages.ToJson()), status)    
EndSub
GetGOTFavorites プロシージャーは次のようになります。GOTFavorites というデータプロバイダーを呼び出します。
&Message.Text = !"Think fast!"

&QuickRepliesMessage = GOTFavorites()
&Message.Payload.Type = PayloadTypes.QuickReplies
&Message.Payload.Body = &QuickRepliesMessage.ToJson()
GOTFavorites データプロバイダーには QuickRepliesMessage SDT に基づく出力があります。
イメージ:44605.png
イメージ:44606.png
この例では次のドメインを使用しています。
FacebookQuickRepliesProperties Facebook のクイック返信に固有のプロパティが含まれるドメインです。
FacebookQuickRepliesContentTypes クイック返信のさまざまなコンテンツ タイプ オプションが含まれるドメインです。
実行時には、次のようになります。
イメージ:44607.png

例 2

&Message.Text = !"Send QuickReplies"

&QuickRepliesMessage.Text = !"Are you sure?"

//はい
&QuickReply = new()
&QuickReply.Text = !"Yes"

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ContentType
&QuickReplyProperty.Value = FacebookQuickRepliesContentTypes.Text
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ImageUrl
&QuickReplyProperty.Value = !"http://pngimg.com/uploads/image.png"
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickRepliesMessage.Replies.Add(&QuickReply)

//いいえ
&QuickReply = new()
&QuickReply.Text = !"No"

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ContentType
&QuickReplyProperty.Value = FacebookQuickRepliesContentTypes.Text
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickRepliesMessage.Replies.Add(&QuickReply)

//場所
&QuickReply = new()
&QuickReply.Text = !"Location"

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ContentType
&QuickReplyProperty.Value = FacebookQuickRepliesContentTypes.Location
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickRepliesMessage.Replies.Add(&QuickReply)

//電話
&QuickReply = new()
&QuickReply.Text = !"Call"

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ContentType
&QuickReplyProperty.Value = FacebookQuickRepliesContentTypes.PhoneNumber
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickRepliesMessage.Replies.Add(&QuickReply)

//メール
&QuickReply = new()
&QuickReply.Text = !"Email"

&QuickReplyProperty = new()
&QuickReplyProperty.Key = FacebookQuickRepliesProperties.ContentType
&QuickReplyProperty.Value = FacebookQuickRepliesContentTypes.Email
&QuickReply.Properties.Add(&QuickReplyProperty)

&QuickRepliesMessage.Replies.Add(&QuickReply)

&Message.Payload.Type = PayloadTypes.QuickReplies
&Message.Payload.Body = &QuickRepliesMessage.ToJson()

参考情報





サブページ
Created: 20/12/14 21:41 by Admin Last update: 21/05/20 18:58 by Admin
カテゴリ
Powered by GXwiki 3.0