Открытие мобильного приложения Apache Cordova по ссылке

Просмотров: 2090

Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: при отправке ссылки на электороную почту, через мессенджер или просто на сайте. При клике на такую ссылку нужно, что бы открывалось установленное мобильное приложение, созданное на Apache Cordova, при этом происходила проверка на прямой заход.

Открытие мобильного приложения Apache Cordova по ссылке

Итак: есть некое мобильное приложение с названием "aptekigoroda" которое внутри себя открывает онлайн приложение, подгружаемое по сети.

Нам нужно реализовать открытие приложения по ссылке, отправляемой по электронной почте, при этом пользователь перенаправляется на страницу заказов.

Добавляем плагин customurlscheme

Открываем папку нашего приложения в терминале и выполняем установку плагина

cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=aptekigoroda

В URL_SCHEME=aptekigoroda используем название приложения или что-то уникальное. Что бы не путаться, лучше название приложения.

Теперь, приложение можно будет открыть по ссылке.

<a href="aptekigoroda://open">Открыть в приложении</a> 

Проверяем: открыто по ссылке или просто открыто

Нам нужно проверить открыто ли приложение по ссылке или пользователь просто открыл его, через иконку. При этом будем проверять еще и платформу и отправлять пользователя по разным адресам.

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    var devicePlatform = device.platform;
    if (devicePlatform === 'Android') {
         window.plugins.webintent.getUri(function (url) {
            if (url) {
                window.location.replace('https://АДРЕС_ПРИЛОЖЕНИЯ/redirect_android.php');
            } else {
                 window.location.replace('https://АДРЕС_ПРИЛОЖЕНИЯ/index.php');
            }
        });
    } else {
        window.handleOpenURL = function(url) {
            if (url) {
                window.location.replace('https://АДРЕС_ПРИЛОЖЕНИЯ/redirect_ios.php');
            }
        };
        window.location.replace('https://АДРЕС_ПРИЛОЖЕНИЯ/index.php');
    }
}

Здесь мы перенаправляем пользователя на разные страницы внутри приложения. Если это Android - то отправляем на redirect_android.php, а ios-ников на redirect_ios.php

При этом, если переменная url пустая, значит приложение открыто по иконке и ни чего не делаем (точнее открываем главную страницу). При желании можно и стартовую страницу открывать разную для ios и android.

А уже со страниц redirect_*.php можно отправлять куда угодно используя модули аналитики и конверсии. Там полный полет фантазии и реализации задач. Дополнительно допроверяя пользователя, его геолокацию, куки и прочие необходимые данные.

Заказать разработку мобильного прилодения на Apache Cordova или упаковать уже имеющийся сайт в приложение можно тут: Заказать разработку приложения.

Михаил Базаров 28.06.2022
Если нужно открывать приложение по обычным адресам  вида http://
Можно использовать плагин
Код
cordova-plugin-deeplinks