可点击的响应,例如Dialgflow中的按钮

时间:2018-11-11 07:31:00

标签: android dialogflow

我一直在使用dialogflow为它的android应用程序开发一个聊天机器人,它的运行非常完美。但是现在我需要从我的机器人那里获得可点击的响应。例如,假设应用程序用户要求特定的位置。我希望Dialogflow chatbot返回一个按钮或一个链接作为响应,以便用户可以单击它并重定向到google地图。

我已经阅读了很多教程,博客和文档,但找不到满意的答案。如果您也可以通过代码示例帮助我,将不胜感激。

提前谢谢

3 个答案:

答案 0 :(得分:2)

如果您正在使用Dialogflow通过Detect Intent API与自己的系统(与Facebook Messenger,Google上的Actions或其他机器人平台类似)进行集成,则可以在{{ 3}}是您的Webhook响应的对象。在对https://dev.mysql.com/doc/refman/8.0/en/innodb-adaptive-hash.html对象的payload中的Detect Intent调用的响应中,这会传回给您。

您可以在此处包括所需的任何信息,并根据需要进行渲染。

答案 1 :(得分:2)

在Dialogflow的“意图”部分中,单击“响应”中的“ Google助手”。 选择用于提供可点击链接的“链接建议”。 如果您只希望按钮没有链接,则可以使用“建议筹码”。 在UI代码上,您需要对其进行解析并将其呈现为可点击的按钮。

在dialogflow中查看以下屏幕截图: Select Link Out Suggestion Enter name and URL

有关更多详细信息,请参阅https://www.kommunicate.io/blog/rich-message-button-response-dialogflow-chatbot/

答案 2 :(得分:0)

为此,您可能必须使用Google 地图URL 。这些提供了通用的跨平台解决方案。

请按照以下步骤操作:

根据用户的响应,对地图URL进行编码,如此处的示例https://developers.google.com/maps/documentation/urls/guide

例如,考虑上面指南中的URL

https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393&query_place_id=ChIJKxjxuaNqkFQR3CK6O1HNNqY

然后使用 基本卡中的按钮如下

app.intent('demo', (conv, params) => {
    // Create a basic card with the URL 
    conv.ask(new BasicCard({
      text: `This is a basic card with Map Response.`,
      subtitle: 'This is a subtitle',
      title: 'Title: Open Map',
      buttons: new Button({
        title: 'Open Map as per URL',
        url: 'https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393&query_place_id=ChIJKxjxuaNqkFQR3CK6O1HNNqY',
      })
    }));
}

您还可以按以下说明使用其他响应(例如linkOutSuggestion): https://developers.google.com/actions/assistant/responses

希望有帮助!