3

我正在尝试使用 Facebook Messenger API 创建带有按钮的“通用”消息。单击该按钮时,我想显示一个“webview”(即 Messenger 中网页的框架版本)。

但是,即使我的按钮具有所需的webview_height_ratio属性,它仍然会在我手机的浏览器中打开,而不是在 Messenger 中。由于 Facebook 文档声称这就是使按钮打开 web 视图所需的全部内容,因此我不确定我可能做错了什么。

我发送给 Facebook 以创建按钮(作为通用模板的一部分)的消息是:

{
    "recipient":{
        "id": "some ID"
    },
    "message": {
        "attachment":{
            "payload":{
                "elements":[{
                    "buttons": [{
                        "title":"Webview example",
                        "type":"web_url",
                        "url":"http://www.example.com",
                        "webview_height_ratio":"compact"
                    }],
                    "image_url": "http://www.example.com/image.png",
                    "item_url": "http://www.example.com",
                    "subtitle":"It's a TV!",
                    "title":"Some TV"
                }],
                "template_type":"generic"
            },
            "type":"template"
        }
    }
}

谁能告诉我我可能做错了什么?

编辑:我不确定是否有必要,但我已将我试图为 webview 指向的域列入白名单(但显然这没有帮助)。

4

5 回答 5

4

我遇到了同样的问题。

在这个街区

      "buttons": [{
                    "title":"Webview example",
                    "type":"web_url",
                    "url":"http://www.example.com",
                    "webview_height_ratio":"compact"
                }],

尝试在 web view height ratio 之后添加这部分

"messenger_extensions": "true"

在 Web 视图中使用 URL 之前,应将其列入白名单。用于将域列入白名单。参考链接

https://developers.facebook.com/docs/messenger-platform/thread-settings/domain-whitelisting/

于 2017-10-04T14:11:26.087 回答
2

为了让 webview 在浏览器上工作(chrome 和 rambox messenger 测试),您需要在添加字段之外messenger_extensions进行设置。truewebview_height_ratio

于 2018-02-28T04:06:19.340 回答
1

显然,webview 仅在上次更新中开始工作。

尝试更新您的 Messenger 应用。

https://messengerblog.com/bots/messenger-platform-1-2-link-ads-to-messenger-enhanced-mobile-websites-payments-and-more/

于 2016-10-11T01:09:08.040 回答
1

我发现 webview 只适用于“高”和“紧凑”尺寸,因为“完整”会在我的 Android 手机上打开默认浏览器。我没有使用扩展,但尝试将此选项设置为 false 和 true,但这只是使按钮不出现。

于 2016-10-22T14:05:56.467 回答
1

事实证明,我做的一切都是正确的:问题出在 Facebook。显然,当您使用 webview 时,它只会影响移动用户。无论您是否指定webview_height_ratio.

于 2016-10-26T19:06:52.310 回答