You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Dialogflow Webhook按用户平台返回对应响应?

实现Dialogflow跨平台响应区分:Assistant富消息+其他平台纯文本

我来给你搞定这个需求——其实Dialogflow的Webhook响应天生就支持按平台定制内容,核心就是利用platform字段指定消息对应的平台,同时保留一个无平台限制的纯文本响应作为 fallback。

核心思路

Dialogflow的fulfillmentMessages数组可以包含多条消息,每条消息可以通过platform字段指定它适配的平台:

  • 给Google Assistant的富消息,指定platform: "ACTIONS_ON_GOOGLE",并按照Actions on Google的规范构造富消息结构(比如卡片、列表、轮播等)
  • 添加一条不指定platform的纯文本消息,作为所有其他平台(网页、Alexa等)的默认响应

具体示例(Webhook响应JSON)

下面是一个完整的响应结构示例,你可以直接参考:

{
  "fulfillmentMessages": [
    // Google Assistant专属富消息(这里用基础卡片举例)
    {
      "platform": "ACTIONS_ON_GOOGLE",
      "basicCard": {
        "title": "Assistant专属内容",
        "subtitle": "仅在Google Assistant中可见",
        "formattedText": "这里是卡片的详细内容,支持换行和简单格式~",
        "image": {
          "imageUri": "https://your-image-url.com/photo.jpg",
          "accessibilityText": "示例图片描述"
        },
        "buttons": [
          {
            "title": "查看详情",
            "openUrlAction": {
              "url": "https://your-link-url.com"
            }
          }
        ]
      }
    },
    // 其他平台的默认纯文本响应
    {
      "text": {
        "text": [
          "这是给网页、Alexa等平台的纯文本回复内容"
        ]
      }
    }
  ]
}

关键细节说明

  • 平台匹配逻辑:Dialogflow会优先返回与当前用户平台匹配的消息;如果没有匹配到对应平台的消息,就会使用不带platform字段的默认消息
  • 富消息类型选择:除了basicCard,你还可以用listSelect(列表)、carouselSelect(轮播)、simpleResponses(语音+文本组合)等Actions on Google支持的富消息类型,只要结构符合规范就行
  • 多消息处理:如果同一个平台有多条消息,Dialogflow会按数组顺序依次返回给用户

这样配置后,Google Assistant用户会看到你精心设计的富消息,其他平台的用户则会收到简洁的纯文本响应,完美满足你的需求~

内容的提问来源于stack exchange,提问作者Shaikat Haque

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:04:34