【问题标题】:Continue a conversation after Browsing carousel in DialogFlow/Actions在 DialogFlow/Actions 中浏览轮播后继续对话
【发布时间】:2018-09-13 17:38:03
【问题描述】:

所以我一直在尝试通过操作为 DialogFlow 使用不同的响应类型:Actions Responses 和 Webhook/Fulfillment。

到目前为止,我已经能够成功地为 List、Basic Card、Suggestion Chips 等类型生成正确的响应。我现在需要的是一个基于列表的响应,它允许用户在触摸时在浏览器中打开一个链接,以及“不”生成一个聊天气泡。 “浏览轮播”符合条件:Browsing Carousel

我已成功创建并模拟了 2 个示例项目的输出。问题是用户何时想要继续对话。根据上述帮助中的“指导”部分,浏览轮播:

默认情况下,发送浏览轮播后,麦克风保持关闭状态。如果您想在之后继续对话,我们强烈建议您在轮播下方添加建议提示。

据我了解,用户必须通过说“Ok Google,与 [app] 交谈”再次调用应用程序。这似乎对用户不太友好,因为用户希望在查看轮播链接后返回到她与代理的对话。 请注意,我在 Console.Actions 页面上使用 Google Actions Simulator 模拟了流程。

只要我使用浏览轮播调用意图,它就会与示例项目一起显示给我。但是当我输入/说出下一个命令以继续对话时,代理只是返回:

很抱歉,出了点问题。请重试。

REQUEST/REQUEST 窗口以及 ERRORS/DEBUG 都是空的。我已经记录了对 Webhook 的调用,但没有收到任何调用。

问题:有没有办法让用户能够浏览响应“列表”(不是基本卡)中的信息链接并返回对话而不结束对话。 p>

以下是 Actions > Simulator 中 RESPONSE 窗口对 Browsing Carousel 的响应(请注意,我已删除不相关的部分):

{
  "conversationToken": "[token info]",
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "You have the following 2 options:",
                "displayText": "You have the following 2 options:"
              }
            },
            {
              "carouselBrowse": {
                "items": [
                  {
                    "title": "Test 1",
                    "description": "Desc 2",
                    "image": {
                      "url": "[some url]"
                    },
                    "openUrlAction": {
                      "url": "[some url]"
                    }
                  },
                  {
                    "title": "Test 2",
                    "description": "Desc 2",
                    "image": {
                      "url": "[some url]"
                    },
                    "openUrlAction": {
                      "url": "[some url]"
                    }
                  }
                ]
              }
            }
          ],
          "suggestions": [
            {
              "title": "Continue"
            },
            {
              "title": "End"
            }
          ]
        }
      }
    }
  ],
  "responseMetadata": {
    "status": {
      "message": "Success (200)"
    },
    "queryMatchInfo": {
      "queryMatched": true
    }
  }
}

【问题讨论】:

  • 我相信用户仍在对话中,但麦克风不会监听用户的语音输入。所以你可以说“OK Google”来激活麦克风,然后用户的语音将被处理并直接发送到你的对话中。
  • 谢谢。我想我在这里错过的是在设备上测试它而不是使用动作模拟器。在设备上,它只是关闭麦克风,对话并没有结束。这样,如果用户希望继续,他只需要重新激活麦克风即可。

标签: actions-on-google dialogflow-es


【解决方案1】:

对于所有使用模拟器测试浏览轮播并看到它在输出后停止响应的人,请改用设备进行测试。当您使用设备呈现输出并使用 Carousel 响应时,它不会终止对话,但会关闭麦克风。这是预期的行为。可以引入 Suggestion 芯片来帮助用户继续对话。

更新:还要确保每个 Webhook Intent 调用都具有简单响应的正确响应。只要响应需要正确设置文本和音频信息,模拟器就不会失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2014-01-19
    • 2014-03-11
    • 2016-05-20
    • 2018-11-24
    • 1970-01-01
    相关资源
    最近更新 更多