从 Facebook 的内置浏览器打开 Facebook Messenger 的问题

Issue opening Facebook Messenger from Facebook's built-in browser

作为促销活动的一部分,我希望将网页共享到 Facebook Messenger。在普通的桌面和移动浏览器中似乎一切正常,但是在 Facebook 的内置浏览器中,Facebook Messenger 应用程序未打开,页面只是锚定回到顶部。

在 Facebook 开发者文档中,建议使用以下内容:

window.open('fb-messenger://share?link=' + encodeURIComponent(link) + '&app_id=XXXX');

但我也试过:

window.location.href = 'fb-messenger://share?link=' + encodeURIComponent(link) + '&app_id=XXXX';

要分享的 CTA 是一个带有 href="#" 的简单元素(假设这就是 Facebook 浏览器将我跳回页面顶部的原因)和点击事件将用户触发到 Facebook Messenger预填充页面的共享信息。例如:

$('#facebookShare').on('click', function() {
    window.location.href = 'fb-messenger://share?link=' + encodeURIComponent(link) + '&app_id=XXXX';
});

这一切在 Chrome 和移动设备上的 Safari 中都运行良好,但一旦在 Facebook 的内置浏览器中 运行 它就什么也做不了。

如能提供有关从 Facebook 应用程序的内置浏览器中打开 Facebook Messenger 的任何帮助或指导,我们将不胜感激。

我认为在 Facebook 浏览器中不可能。根据 docs:

The link works on mobile web sites on iOS and Android platforms, with native apps, but deep linking does not work with webviews.

内置的 Facebook 浏览器是 webview,所以看起来不可能。