2016-05-15 241 views
0

我试图启动我的应用程序,如果它安装并回退到我的网站,如果该应用程序不存在。 (得到了一些启发:How to check if an app is installed from a web-page on an iPhone?从浏览器启动应用程序

我可以使用自定义URL方案,启动应用程序,但只能够这样当有用户交互(例如用户点击一个按钮/链接):

<a onclick="window.open('myapp://foo=bar', '_system')">Launch myapp</a> 

然而当使用

window.open( 'MyApp的://富=酒吧', '_SYSTEM');

了window.location = '的myapp://富=酒吧'

没有用户交互(例如,在窗口加载/文档准备就绪)的应用程序不会启动。

这是预期吗?

任何解决方法?

感谢 史记

+1

这是预期的。如果用户正在使用浏览器,那么他们正在使用浏览器。如果您希望他们使用您的应用程序,只需提供一个带有自定义URL的按钮供他们点击即可。 – adelphus

回答

1

那预期。在拨打window.open()之前,用户交互需要先发生。它不能以编程方式完成。

你可能想要看的其他东西是Universal Links。这种通过正常的http://链接启动应用程序的方法是新的首选方法,而不是使用URL Schemes。借助通用链接,您无需处理逻辑以确定应用是否已安装。它自动处理。所有大公司都使用这种方法。看看这个blog了。

相关问题