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

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

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

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

Показать только один тип цены в каталоге Битрикс Просмотров: 13715 Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на с... Адаптивное гамбургер меню для битрикс Просмотров: 14424 Заметка коротенькая, но решил оставить ее - так как самому часто нужно нечто подобное. В а... Фиксированная корзина с обновлением, без перезагрузки страницы. Просмотров: 17481 Иногда нужно сделать так, чтобы корзина в интернет магазине, созданном на Битрикс, была по... Заполнить картинки разделов каталога из картинок товаров Просмотров: 324 Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинкам... Не дать пользователю купить больше одного товара, в Битрикс Просмотров: 5126 Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать... Самодельная форма добавления элемента на API Битрикс Просмотров: 42447 Компонент iblock.element.add.form написан таким образом, что вы не сможете (не попотев изр... Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа Просмотров: 4908 В этой заметке постараюсь описать процесс реализации индивидуальных цен, для пользователей... Если пользователь авторизован то... API Битрикс Просмотров: 22204 Достаточно часто, при создании сайта на битрикс нужно вывести в шаблон или компонент, неку... Пункты меню из разделов инфоблока Битрикс Просмотров: 90591 В принципе это стандартная возможность системы управления битрикс, но почему-то часто спра... Сортировать товары по названию, цене и дате поступления в каталоге Би... Просмотров: 39342 Достаточно часто заказчик просит вывести сортировку по цене, новым поступлениям и названию... Установить цену товара из свойства инфоблока Просмотров: 8674 На одном из проектов, нужно было единоразово заполнить цены товаров из свойства инфоблока... Показ страницы сайта в боковом слайдере, на примере всплывающей формы... Просмотров: 1830 Если вы хотите сделать подгрузку любой страницы сайта в боковой слайдер, для этого в битри... Объединить отдельные поля ФИО в одно свойство при оформлении заказа. Просмотров: 855 Пользователь, при оформлении заказа, заполняет три отдельных поля с фамилией, именем и отч... Отключить поиск по описаниям товаров в Битрикс Просмотров: 10581 Иногда, нужно отключить поиск по описаниям анонсов и детальному описанию товаров, при разр... Сгенерировать скидочные купоны, при заказе и отправить на почту Просмотров: 744 Задача: после того как пользователь сделал заказ, нужно сгенерировать одноразовые купоны д... Получить все товары из всех заказов пользователя. История купленных т... Просмотров: 1344 Задача: нужно создать раздел, в персональном разделе пользователя, с историей всех купленн... Вывести артикул в печатную форму бланка заказа Просмотров: 350 Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе. ... Установить остатки товара на складе из доступных остатков. Просмотров: 4844 Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество". Картинка торгового предложения вместо иконки цвета, в выборе SKU Просмотров: 252 Задача: вместо не информативных иконок цветов нужно вывести детальную картинку торгового п... Использование WebP изображений в 1С-Битрикс (на Битрикс: Веб окружени... Просмотров: 25829 WebP это современный формат сжатия изображений, который позволяет, при правильных настройк...