android - 如何从 DialogFlowV2 webhook 发送不同的语音和显示文本?

标签 android dialogflow-es fulfillment

我最近从 DialogFlowV1 更新到 DialogFlowV2

我发现 V2 中没有不同的 displayTextspeech 参数。

如何从 webhook 实现发送不同的 speechdisplayText 参数,以便我可以通过 DialogFlow Android 客户端使用这些值。

从我从 V1 升级到 V2 的那天起,我发现 Android 的 ai.api.sdkdisplayText 参数返回 null

这是我从网络钩子(Hook)发送的履行响应

{
  "fulfillmentText": "My FulfillmentText",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "Sample response 1",
          "Sample response 2"
        ]
      }
    }
  ]
}

我必须对上述响应结构进行哪些更改?

最佳答案

您需要在 v2 api 的 fulfillmentText 中传递 speech 文本,并在 fulfillmentMessages 中传递 displayText

{
  "fulfillmentText": "This will be speech.",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "This will be text to be displayed on screen."
        ]
      }
    }
  ]
}

如果您没有从 Webhook 传递 fulfillmentMessages,则 fulfillmentText 将显示在屏幕上。

响应的基本结构在 this page 上给出。 .

doc image

发送 fulfillmentText 的示例代码 (python):

import json
req = req_you_get_from_webhook_call
res = json.dumps({
        'fulfillmentText': 'response from the webhook',
    })
return res

关于android - 如何从 DialogFlowV2 webhook 发送不同的语音和显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51531185/

相关文章:

android - 使用非对称按钮背景图片

ionic-framework - 带 Dialogflow v2 的 ionic 聊天客户端

node.js - 从上一个意图中获取后续意图中的参数

node.js - Dialogflow - 履行请求有效负载 - 如何使用请求有效负载中收到的用户 ID 注册用户

javascript - 如何检查用户参数以匹配Firebase中的值?

node.js - 有没有一种方法可以通过部署在 facebook 中的聊天机器人来推送通知,该聊天机器人使用带有 node.js 的对话流开发来实现

node.js - 如何根据发送的参数和意图简单地响应对话流 Webhook 完成

Android - 我可以以编程方式进行数据绑定(bind)吗? - 没有布局 XML

android - 如何让我的浏览器从右向左滑动

Android 发送捕获的图像在某些设备中旋转 90 度