2016-05-15 233 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了。

相關問題