Телеграм: @bazarow_ru Почта: mihail@bazarow.ru

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

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

Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: при отправке ссылки на электороную почту, через мессенджер или просто на сайте. При клике на такую ссылку нужно, что бы открывалось установленное мобильное приложение, созданное на 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

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Отсортировать элементы в Битрикс по свойству привязка к разделам Просмотров: 28992 При создании достаточно сложных интернет-магазинов на Битрикс, иногда встает задача помимо... Прятать или показывать описание раздела каталога Просмотров: 1046 В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый па... Как вывести картинки к разделам на базе _ext меню Просмотров: 7641 Просто для эстетической красоты, нужно вывести в меню разделов сайта картинки или иконки. ... Снять ограничение на количество символов в комментарии к заказу магаз... Просмотров: 12604 Как многим известно, в интернет-магазине на Битрикс имеется ограничение на количество симв... XML в формате Commerce ML-2, города России и Мира, для выгрузки в инф... Просмотров: 6961 Подвернулась задачка, создать инфоблок для Битрикс, в котором будут просто города России и... Малая корзина Битрикс, упрощенный шаблон Просмотров: 13606 Шаблон малой корзины битрикс, который можно вывести в боковом разделе шаблона или в шапке ... Умный фильтр на главной странице Битрикс Просмотров: 22295 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Модифицировать состав заказа #ORDER_LIST# в почтовом событии "Новый з... Просмотров: 30308 Если вы хотите как-то по особенному сверстать состав заказа в почтовом уведомлении 1С-Битр... Вывести имя пользователя добавившего элемент инфоблока в Битрикс Просмотров: 17211 Иногда, необходимо вывести имя пользователя добавившего элемент инфоблока. Например, автор... Ленивая подгрузка картинок в компоненте, на vue js Битрикс Просмотров: 10347 Если на одну страницу сайта выводится большое количество картинок, которые могут долго под... Дать пользователю возможность быстро отредактировать материал Просмотров: 4944 На одном из разрабатываемых сайтов, пользователи формирую его контент. После регистрации, ... Картинка торгового предложения вместо иконки цвета, в выборе SKU Просмотров: 709 Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового п... Подключение SSL на Битрикс виртуальная машина Просмотров: 13280 С первого января 2017 года, наличие безопасного соединения HTTPS становится практически об... Перенос Битрикс сайта с хостинга на хостинг, инструкция Просмотров: 27390 Достаточно часто спрашивают как перенести сайт работающий на 1С Битрикс с одного хостинга ... AJAX корзина с отправкой количества из раздела каталога Просмотров: 20152 Столкнулся с задачкой: нужно было на одном сайте реализовать интерактивный прайс лист. При... Регистрация пользователя в определенную группу сайта на Битрикс Просмотров: 23547 Достаточно часто требуется регистрировать пользователя в определенную группу, в зависимост... Добавить свойство в административную форму заказа Просмотров: 3759 Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку фо... Простой WEB сервер на ubuntu, для Битрикс Просмотров: 35931 Расскажу как по быстрому сконфигурировать WEB сервер для работы с Битрикс. Безо всяких ngi... Не дать пользователю купить больше одного товара, в Битрикс Просмотров: 5859 Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать... INPUT type="file" Предпросмотр превью картинки до загрузки Просмотров: 12921 Рассмотрим на примере компонента "Форма добавления-редактирования элементов инфоблока", ка...