Facebook Messenger 平台中的发送按钮模板:web_url 按钮单击事件

Send Button Template in Facebook Messenger Platform: web_url Button Clicked Event

我正在 Facebook Messenger Platform, the documentation shows that when I am sending a button template 上开发,我可以将按钮类型指定为 web_url,当用户单击该按钮时,会将用户带到内置浏览器中的网页传信人。

我的问题是:我的应用程序服务器(回发服务器)是否有任何方法可以知道用户是否单击了 web_url 按钮?例如。作为回发服务器调用?谢谢!

我认为你最好的选择是通过你的应用程序服务器代理 URL 然后重定向到真正的 URL 这样你就可以检测用户是否导航到那个 link .

您还需要检测 "facebook bot" 的 UserAgent,因为 Facebook 会首先尝试抓取您的 URL(即使用户没有点击它)。

假设您想将用户指向:

您需要在您的应用程序服务器上设置端点:

  • https://{您的应用程序服务器}/url_click?url=https%3A%2F%2Ffoo.com&id=XYZ
    • url 是 url 编码的 url 它们最终会变成
    • id 是一些 ID,您可以通过
    • 识别该 Facebook Messenger 用户会话

然后您可以使用该信息来查找与该 id 的 Messenger 会话并执行点击处理回调。