我正在开发Facebook Messenger Platform,文档显示当我发送button template时,我可以将按钮类型指定为web_url,当用户点击时,将用户带到信使的内置浏览器中的网页 .
我的问题是:我的应用服务器(回发服务器)有没有办法知道用户是否点击了web_url按钮?例如 . 作为回发服务器调用?谢谢!
我正在开发Facebook Messenger Platform,文档显示当我发送button template时,我可以将按钮类型指定为web_url,当用户点击时,将用户带到信使的内置浏览器中的网页 .
我的问题是:我的应用服务器(回发服务器)有没有办法知道用户是否点击了web_url按钮?例如 . 作为回发服务器调用?谢谢!
1 回答
我认为您最好的选择是通过您的应用程序服务器代理该URL,然后重定向到真实URL,以便您可以检测用户是否导航到该链接 .
您还需要检测“facebook bot”的UserAgent,因为Facebook会先尝试抓取您的URL(即使用户没有点击它) .
所以说你想要指出你的用户:
您需要在应用程序服务器上设置 endpoints :
https:// /url_click?url=https%3A%2F%2Ffoo.com&id=XYZ
url
是他们最终会输入的urlencoded网址id
是一些你可以识别facebook messenger用户会话的id然后,您可以使用该信息查找具有该
id
的Messenger会话,并执行单击处理回调 .你想要检测到UserAgent是一个浏览器而不是"facebook bot"
https://developers.facebook.com/docs/sharing/webmasters/crawler