Facebook Messenger API:在浏览器中打开 Webview
Facebook Messenger API: Webviews Opening in Browser
我正在尝试使用 Facebook Messenger API 创建带有按钮的 "generic" 消息。单击该按钮后,我想显示一个 "webview"(即 Messenger 中网页的框架版本)。
但是,即使我的按钮具有所需的 webview_height_ratio
属性,它仍然会在我的 phone 的浏览器中打开,而不是在 Messenger 中打开。由于 Facebook 文档声称这就是让按钮打开 webview 所需的全部内容,我不确定我可能做错了什么。
我发送给 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 的域列入白名单(但显然没有有帮助)。
显然,webview 是在上次更新后才开始工作的。
尝试更新您的 Messenger 应用。
我发现 webview 仅适用于尺寸 'tall' 和 'compact',因为 'full' 会在我的 Android phone 上打开默认浏览器。
我没有使用扩展程序,但尝试将此选项设置为 false 和 true,但这只会使按钮不显示。
事实证明我做的一切都是对的:问题出在 Facebook 上。显然,当您使用网络视图时,它 仅 影响移动用户。无论您是否指定 webview_height_ratio
.
,基于 Web 的 Messenger 用户都会获得一个新的 window
我遇到了同样的问题。
在这个街区
"buttons": [{
"title":"Webview example",
"type":"web_url",
"url":"http://www.example.com",
"webview_height_ratio":"compact"
}],
尝试在网页视图高度比后添加此部分
"messenger_extensions": "true"
Url 在 webview 中使用它之前应该被列入白名单。用于将域列入白名单。参考 Link
https://developers.facebook.com/docs/messenger-platform/thread-settings/domain-whitelisting/
为了让 webview 在浏览器上运行(chrome 和 rambox Messenger 已测试)除了添加 webview_height_ratio
字段外,您还需要将 messenger_extensions
设置为 true
.
我正在尝试使用 Facebook Messenger API 创建带有按钮的 "generic" 消息。单击该按钮后,我想显示一个 "webview"(即 Messenger 中网页的框架版本)。
但是,即使我的按钮具有所需的 webview_height_ratio
属性,它仍然会在我的 phone 的浏览器中打开,而不是在 Messenger 中打开。由于 Facebook 文档声称这就是让按钮打开 webview 所需的全部内容,我不确定我可能做错了什么。
我发送给 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 的域列入白名单(但显然没有有帮助)。
显然,webview 是在上次更新后才开始工作的。
尝试更新您的 Messenger 应用。
我发现 webview 仅适用于尺寸 'tall' 和 'compact',因为 'full' 会在我的 Android phone 上打开默认浏览器。 我没有使用扩展程序,但尝试将此选项设置为 false 和 true,但这只会使按钮不显示。
事实证明我做的一切都是对的:问题出在 Facebook 上。显然,当您使用网络视图时,它 仅 影响移动用户。无论您是否指定 webview_height_ratio
.
我遇到了同样的问题。
在这个街区
"buttons": [{
"title":"Webview example",
"type":"web_url",
"url":"http://www.example.com",
"webview_height_ratio":"compact"
}],
尝试在网页视图高度比后添加此部分
"messenger_extensions": "true"
Url 在 webview 中使用它之前应该被列入白名单。用于将域列入白名单。参考 Link
https://developers.facebook.com/docs/messenger-platform/thread-settings/domain-whitelisting/
为了让 webview 在浏览器上运行(chrome 和 rambox Messenger 已测试)除了添加 webview_height_ratio
字段外,您还需要将 messenger_extensions
设置为 true
.