Dialogflow Messenger によるリッチ コンテンツ

このガイドでは、リッチ コンテンツDialogflow Messenger へ送信する方法を説明します。

ステップ 1: エージェントに addRichContent ツールを作成する

次のデータを使用して、addRichContent と呼ばれる関数ツールを作成します。

ツールの入力:

properties: {}
type: object

ツールの出力:

properties:
  status:
    type: string
  reason:
    type: string
type: object

ステップ 2: エージェントにこのツールの使用方法を伝える

手順と例で、エージェントにツールの使用方法を伝えます。

たとえば、次のようなものを手順に追加します。

-  Greet  the  user
-  Ask  the  user  what  their  favorite  color  is.
   At  the  same  time  run  ${TOOL:  addRichContent}  to  display  buttons
   for  blue,  red,  yellow,  and  green.
-  Thank  the  user

たとえば、次のような例を作成します。

例のスクリーンショット

なお、リッチ コンテンツの構文は、フローベースの仮想エージェントでカスタム ペイロードを返す場合に使用する構文と同じです。

ステップ 3: JavaScript を定義する

df-messenger をホストするページのコードで、df-messenger にリッチ コンテンツをレンダリングするよう指示する関数を定義した JavaScript コードを作成します。また、その関数を df-messenger に登録する必要があります。これにより、仮想エージェントが必要なときに関数を実行できるようにします。

変数 dfMessenger が宣言され、df-messenger のインスタンスを指していることを確認します。

この目的のために使用できるコードの例をいくつか示します。

const dfMessenger = document.querySelector('df-messenger');

function  addRichContent(customPayload)  {
  dfMessenger.renderCustomCard(customPayload.richContent);

  // add error handling

  return  Promise.resolve({  status:  "OK",  reason:  null  });
}

// substitute your own tool id

const  toolId  =  'projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID/tools/TOOL_ID'
dfMessenger.registerClientSideFunction(toolId,  addRichContent.name,  addRichContent);