使用 facebook deep URL 打开应用时,应用和网页同时打开
Posted
技术标签:
【中文标题】使用 facebook deep URL 打开应用时,应用和网页同时打开【英文标题】:When using facebook deep URL to open app, both app and webpage open together 【发布时间】:2016-06-21 13:44:20 【问题描述】:我将其用作网页中的链接。
<a class="btn btn-lg btn-orange" role="button" onclick="myFunction()">like me</a>
这是我的脚本。
function myFunction()
$(function()
window.location = "fb://profile/1456471431314551";
setTimeout(function () window.location = "https://www.facebook.com/angelsatwork2015"; , 25);
)
当我在移动设备中打开浏览器 fb 页面和 fb 应用程序时。请帮助,如果应用程序打开它不会重定向到 fb 浏览器页面。 此外,当我在桌面上使用此代码时,会打开两个不同的浏览器页面。
【问题讨论】:
【参考方案1】:这很可能是该代码的预期行为。
单击该按钮时您正在执行的操作是立即打开 URL fb://profile/1456471431314551
。假设这是 ios,这会导致系统显示警报,询问您是否要启动应用程序。但是,从 iOS 9.2 开始,此警报是非阻塞,这意味着其他代码继续在后台执行。这就是为什么在 25 毫秒后,您将 URL https://www.facebook.com/angelsatwork2015
作为常规网页打开。
不幸的是,在 iOS 9.2+ 世界中没有很好的解决方案(感谢 Apple...)。我们在Branch.io 所做的是结合通用链接(在安装应用程序时启动应用程序......大多数情况下)和重定向,例如您在通用链接不起作用的边缘情况下尝试的重定向。我们根据设备 UUID 设置跟踪 cookie,以了解我们何时可以安全地尝试启动应用程序,但实际上,这通常意味着如果我们不确定,我们必须重定向到 App Store,以避免您的行为相遇。
【讨论】:
以上是关于使用 facebook deep URL 打开应用时,应用和网页同时打开的主要内容,如果未能解决你的问题,请参考以下文章
假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url
如何制作在 Safari for iOS Facebook Messenger 应用程序而不是应用程序内 Web 浏览器中打开的 URL
在 UIWebView 中打开 facebook 页面墙的 URL 不起作用