2016-06-21 117 views
0

我使用这个作为我的网页链接。当使用Facebook深层URL打开应用程序时,应用程序和网页一起打开

<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浏览器页面。 另外,当我在桌面上使用此代码打开两个不同的浏览器页面。

回答

0

这很可能是该代码的预期行为。

点击该按钮时你正在做什么,立即打开URL fb://profile/1456471431314551。假设这是iOS,这会导致系统显示一条提示,询问您是否要启动应用程序。但是,从iOS 9.2开始,此警报为非阻塞,这意味着其他代码将在后台继续执行。这就是为什么,25毫秒后,您将以普通网页的形式打开URL https://www.facebook.com/angelsatwork2015

不幸的是,在iOS 9.2+世界中没有很好的解决方案(谢谢Apple ...)。我们在Branch.io所做的是通用链接(它在大多数时间安装时启动应用程序)和重新定向的结合,例如Universal Links不起作用的边缘情况。我们根据设备UUID设置跟踪cookie,以了解我们何时可以安全地尝试启动应用程序,但实际上,这通常意味着如果我们不确定,我们必须重定向到App Store,以避免您的行为遇到。