【问题标题】:How to show multiple basic card as a response in dialogflow webhook如何在 dialogflow webhook 中显示多个基本卡作为响应
【发布时间】:2018-08-23 13:29:23
【问题描述】:

我想通过 python 中的实现通过 JSON 响应向用户发送三张基本卡片作为响应。那么有什么办法可以做到吗?

附言

基本上,我想向用户显示callmailcall on office 的三个按钮,但由于基本卡仅显示一个链接,我认为可以显示多个包含按钮的卡!

这是我要发送的回复。

{
    "payload": {
        "google": {
            "expectUserResponse": "true",
            "richResponse": {
                "items": [{
                        "simpleResponse": {
                            "textToSpeech": "Here is the information of " + user_name
                        }
                    },
                    {
                        "basicCard": {
                            "title": name,
                            "subtitle": subtitle,
                            "image": {
                                "url": picture_url,
                                "accessibilityText": "Picture of " + name
                            },
                            "formattedText": msg,
                            "buttons": [{
                                    "title": "Call " + user_name,
                                    "openUrlAction": {
                                        "url": "tel:+" + contact
                                        if contact is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }
                                if contact is not None
                                else {
                                    "title": "Send Mail to " + user_name,
                                    "openUrlAction": {
                                        "url": "mailto:" + email,
                                        "androidApp": {
                                            "packageName": "android.intent.extra.EMAIL"
                                        },
                                        "versions": []
                                    }
                                },
                                {
                                    "title": "Call on extention",
                                    "openUrlAction": {
                                        "url": "tel:+" + extension
                                        if extension is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }

                            ],
                            "imageDisplayOptions": "WHITE"
                        }
                    }
                ],
                "suggestions": [{
                        "title": "Info of " + manager
                        if manager is not None
                        else ""
                    },
                    {
                        "title": "Info of " + hr_manager
                        if hr_manager is not None
                        else ""
                    }
                ]
            }
        }
    }
}

【问题讨论】:

标签: dialogflow-es actions-on-google fulfillment


【解决方案1】:

您不能发送多张卡片,虽然卡片上的按钮采用数组,但该数组中只允许一个元素。

但是,您可以通过发送browsing carousel 来做类似的事情。这使您可以发送多个包含标题的图块,并且可能包含图像、正文和链接,其形式与卡片具有链接的形式相同。

一个问题是我不确定链接是否必须是 http 或 https 链接,或者是否允许其他 URL 形式,但请记住,并非所有可能支持链接的表面都支持能够使电话。

【讨论】:

  • 那么如果只允许一个元素,那么将按钮作为一个数组有什么意义呢??
  • 我的猜测是它最初是为了支持更多而设计的,但是在开发过程的后期进行了更改,可能是因为 UI/UX 问题。但这纯粹是猜测。
猜你喜欢
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多