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 会话并执行点击处理回调。
- 您需要检测 UserAgent 是浏览器而不是 "facebook bot"
我正在 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 会话并执行点击处理回调。
- 您需要检测 UserAgent 是浏览器而不是 "facebook bot"