如果通过 Safari 中的网页安装,如何打开应用程序?
Posted
技术标签:
【中文标题】如果通过 Safari 中的网页安装,如何打开应用程序?【英文标题】:How to open an app if installed through a webpage in Safari? 【发布时间】:2013-07-12 15:15:00 【问题描述】:我们有一个应用程序,我们称之为:xyz_app
,我有一个xyz_app://
形式的自定义 URL 方案。
我们正在向用户发送电子邮件。
当他点击链接时,他应该去应用程序,如果应用程序没有安装,我们的移动网站。
那么从电子邮件中的链接,我如何确保如果未安装应用程序,该链接应该将用户发送到移动网站?
【问题讨论】:
【参考方案1】:仅当应用程序安装在 iDevice 上时,URL 方案才能直接工作。如果没有安装会报错。
1) 要实现此功能,您必须将用户重定向到一个网页,该网页将通过您的电子邮件链接检测是否安装了应用程序。像这样 www.yourwebsite/detectapp
2) 您的detectapp 页面将有一个javascript-
var appstoreFail = "www.your_redirect_website.com";
//Check is device is ios
var iOS = /(iPad|iPhone|iPod)/.test(navigator.userAgent);
var appUrlScheme = "xyz_app://";
if (iOS)
// If the app is not installed the script will wait for 2sec and redirect to web.
var loadedAt = +new Date;
setTimeout(function()
if (+new Date - loadedAt < 2000)
window.location = appstoreFail;
,25);
// Try launching the app using URL schemes
window.open(appUrlScheme, "_self");
else
// Launch the website
window.location = appstoreFail;
【讨论】:
好的。谢谢。我会试试这个。 setTimout没有直接设置为2秒有具体原因吗?以上是关于如果通过 Safari 中的网页安装,如何打开应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
通过 iOS 9 登录 FB 时打开 Safari 网页视图