我为我的网站实施了smart app banner,以便将用户重定向到我们的Android或iOS应用。通过解析用户代理,我可以成功地重定向到Android应用程序或Google Play商店(使用意图过滤器):现在我想为iOS做同样的事情,打开应用程序(如果已安装并在其他地方打开iTunes)。
我设法通过使用自定义网址方案
打开应用程序(如果已安装)<a href="myurlscheme://main">
现在,如果设备上没有安装应用程序,我想启动iTunes。我怎样才能做到这一点?
谢谢
答案 0 :(得分:2)
说实话,这对你自己来说是一种痛苦。在您检测到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://";
显然,这不是一个理想的解决方案,它有很多令人讨厌的边缘情况,最值得注意的是“无法打开页面”#34;如果用户未安装您的应用,则会在重定向到App Store之前看到错误。直到最近,通过使用此脚本的更细微版本,可以以合理的用户友好方式解决这个问题。可悲的是,Apple intentionally broke that更新了iOS 9.2。
你也可以enable Universal Links。 Apple知道这是一个令人讨厌的问题并且正在努力提供帮助。通用链接允许您使用网站页面的常规URL(这可能是一个简单的重定向到App Store ,而不是导致“无法打开页面”的自定义URL触发器。错误),如果已安装,则会被手机拦截并直接发送到您的应用中。不幸的是,Universal Links仅适用于iOS 9+,并且在许多应用程序中打开时无法正常工作。
最佳解决方案是上述方法的组合:支持所有地方的Universal Links和Applink,以及作为后备的智能JavaScript重定向。这需要处理很多,所以最好的选择可能是像Branch.io这样的免费服务(完全披露:我与团队合作)来处理所有技术问题。
答案 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>