說實話,這是一種痛苦來實現你自己的。你已經發現了iOS用戶代理之後,你可以實現你的服務器是這樣一個JavaScript重定向:
setTimeout(function() {
window.location = "https://itunes.apple.com/path/to/your/app/";
}, 25);
// If "yourapp://" is registered, the user will see a dialog
// asking if want to open your app. If they agree, your app will
// launch immediately and the timer won't fire.
// If not installed, you'll get an ugly "Cannot Open Page"
// dialogue and the App Store will launch when the timer expires.
window.location = "yourapp://";
顯然,這不是一個理想的解決方案,它有一噸的討厭的邊緣的情況下,最顯着如果用戶沒有安裝應用程序,用戶在重定向到App Store之前會看到「Can not Open Page」錯誤。直到最近,纔有可能通過使用更加細緻入微的版本以合理的用戶友好方式來解決這個問題不幸的是,蘋果intentionally broke that與iOS 9.2更新。
你也可以enable Universal Links。蘋果知道這是一個惱人的問題,並試圖幫助。你可以使用一個普通的URL到你的網站上的一個頁面(這可能是一個簡單的重定向到應用程序商店沒有自定義URL觸發器,導致'不能打開頁面'錯誤),這是由您的手機攔截並直接發送安裝到您的應用程序中。不幸的是,通用鏈接僅適用於iOS 9+,並且在很多應用程序中打開時都無法使用。
最好的解決方案是上述方法的組合:通用鏈接和Applinks無處不在支持,智能JavaScript重定向作爲後備。這是相當多的處理,所以最好的選擇可能是免費的服務,如Branch.io(全面披露:我與團隊合作)照顧所有技術方面。
謝謝亞歷克斯,這完美的作品(除了小,不那麼煩人的彈出「你想打開此鏈接應用程序YOURAPP「)。 –
很高興幫助! –