Facebook Messenger Bot 使用回发按钮共享结构化消息
Posted
技术标签:
【中文标题】Facebook Messenger Bot 使用回发按钮共享结构化消息【英文标题】:Facebook Messenger Bot sharing structured message with postback button 【发布时间】:2017-02-14 09:51:12 【问题描述】:我正在审核 Facebook Messenger 平台,但找不到有关特定主题的任何信息。我希望机器人用户与他的联系人共享结构化消息,这会将联系人带回关心上下文的机器人聊天。
结构化消息的共享效果很好:
-
机器人响应包含带有“共享按钮”模板的消息
点击按钮打开本地共享菜单
用户选择要与之共享消息的联系人
消息已发送给联系人
每个联系人都会收到原始消息
文档中解释的所有内容:https://developers.facebook.com/docs/messenger-platform/send-api-reference/share-button
谜题的下一部分是“回发按钮”,它可以像“分享按钮”一样添加到结构化消息模板中(此处解释为https://developers.facebook.com/docs/messenger-platform/send-api-reference/postback-button)。点击“回发按钮”将元数据发送到 webhook。一切都很好......
假设我有一个搜索歌曲的机器人。用户键入部分歌词,机器人提供与这些匹配的歌曲列表。机器人将每首歌曲列为结构化消息,其中包含名为“赞”的“分享按钮”和“回发按钮”。想法是用户将此类消息共享给他的联系人。 'Like'(回发按钮)背后的想法是被收到消息的联系人点击。每次点击“喜欢”都应将用户带到机器人聊天并执行回发。 postack 背后的逻辑是跟踪喜欢特定歌曲的用户联系人。
在联系用户点击“喜欢”之前,所有这些都有效。单击打开机器人聊天(用户第一次看到欢迎信息),但不执行回发。如果我使用“URL 按钮”(带有 Messenger Extensions)也是如此。
有没有办法完成这样的事情?
谢谢
这是我想使用的带有回发按钮的消息示例:
var messageData =
recipient:
id: recipientId
,
message:
attachment:
type: "template",
payload:
template_type: "generic",
elements: [
title: "Shake it off",
subtitle: "Lorem ipsum....",
buttons: [
type: "web_url",
title: "Watch video",
url: "http...",
,
type: "postback",
title: "Like",
payload: "id=xyz",
,
type: "element_share",
]
]
;
【问题讨论】:
你能分享你发送的回发按钮的 json 配置吗? @kinshukkar 我在上面添加了带有回发按钮的消息 【参考方案1】:Messenger 平台已更新,新功能提供了我所需要的:https://developers.facebook.com/docs/messenger-platform/referral-params
【讨论】:
鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。 你是如何让它工作的?我有同样的问题 - 但与 ref params 链接而不是回发按钮共享结构效果不佳 它只是使用m.me/mybot?ref=myparam url 对我有用。 @Elwhis 什么不适合你? @Andrej 没有选项作为回发按钮的后备网址(普通按钮有),当我使用带有此网址的普通按钮时,对话会在新窗口中继续,这不是不错 @Elwhis 我仍然不清楚您的用例,也许您可以简单解释一下...我所拥有的是与 ref 链接共享一条消息,因此预计会与在新窗口中继续,因为用户来自与机器人不同的对话。以上是关于Facebook Messenger Bot 使用回发按钮共享结构化消息的主要内容,如果未能解决你的问题,请参考以下文章
“正在输入...”指示在 bot 框架 + facebook Messenger 中不会消失
java的Facebook Messenger bot对象结构
Facebook Messenger Bot 使用回发按钮共享结构化消息
托管 Facebook Messenger Bot 代码的最佳位置是啥? [关闭]
使用 facebook messenger bot 示例教程代码时,我收到消息:'(#100) No matching user found'