Как открыть приложение, если оно установлено через веб-страницу в Safari?

У нас есть приложение, назовем его: xyz_app, для которого у меня есть настраиваемая схема URL в форме xyz_app://.

Мы отправляем электронное письмо пользователю.

когда он нажимает на ссылку, он должен пойти в приложение и в случае, если приложение не установлено, наш мобильный сайт.

поэтому из ссылки в письме, как я могу убедиться, что если приложение не установлено, эта ссылка должна отправить пользователя на мобильный сайт?

Ответы

Ответ 1

Схема URL работает напрямую, только если приложение установлено на iDevice. Если он не установлен, он выдает ошибку.

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;
}