2016-04-06 39 views
0

我爲我的網站實施了smart app banner,以便將用戶重定向到我們的Android或iOS應用程序。通過解析用戶代理,我可以成功重定向到Android應用或Google Play商店(使用意圖過濾器):現在我想爲iOS做同樣的事情,如果安裝了應用並打開iTunes,並在其他地方打開iTunes,iOS:使用自定義URL打開應用程序(如果安裝了itunes),否則使用

我設法打開應用程序,如果它的安裝,使用自定義URL方案

<a href="myurlscheme://main"> 

現在我想打,如果設備上沒有安裝iTunes的應用程序啓動。我怎樣才能做到這一點?

謝謝

回答

1

說實話,這是一種痛苦來實現你自己的。你已經發現了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(全面披露:我與團隊合作)照顧所有技術方面。

+0

謝謝亞歷克斯,這完美的作品(除了小,不那麼煩人的彈出「你想打開此鏈接應用程序YOURAPP「)。 –

+1

很高興幫助! –

0

嘗試這個 <meta"apple-itunes-app"content"app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL"

<a href="xxx://www.xxx.com">Open APP</a> 
+0

謝謝李。第一個建議可行,但它是一個元標記(我可能是錯的)只適用於Safari,所以它不是我需要的。第二個只是不起作用,它只會打開應用程序,如果我已經安裝它: -/ –

相關問題