17

我们有一个应用程序,我们称之为:xyz_app我有一个自定义 URL 方案,格式为xyz_app://.

我们正在向用户发送电子邮件。

当他点击链接时,他应该去应用程序,如果没有安装应用程序,我们的移动网站。

所以从电子邮件中的链接,我如何确保如果未安装应用程序,该链接应该将用户发送到移动网站?

4

1 回答 1

28

仅当应用程序安装在 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;
}
于 2013-07-12T15:27:20.097 回答