Открытие URL-ссылок с помощью Android-приложения (Deep Links)
Что такое Deep Links и как интегрировать их в своё приложение
3 min read
Apr 28, 2018
Как работает открытие ссылок через приложение и зачем оно вообще нужно?
Нередко бывает так, что определённому контенту соответствует и страница на сайте, и экран в приложении. В таких случаях пользователю, у которого установлено приложение, удобно будет открывать ссылку на этот контент через приложение. Как пример можно взять интернет-магазин. Пользователь может нажать на ссылку в браузере, после чего ему предложит просмотреть страницу товара через приложение. Также это хорошо используется с шарингом ссылок. Пример: Петя увидел классные кроссовки на сайте и скинул ссылку на них Васе в Telegram. У Васи уже установлено приложение интернет-магазина, поэтому он нажав на ссылку в Telegram попадает на экран приложения, в котором отображается вся информация об этих замечательных кроссовках. Удобно, не правда ли?
Разделение на Deep Links и Android App Links
Перед тем, как мы займемся реализацией, важно понять, что есть два способа обработки ссылок:
1. Deep Links
Глубокие ссылки (Deep Links) — это URL, которые направляют пользователя на определённый контент в вашем приложении. Они реализуются созданием интент-фильтра и извлечением информации из входящих интентов. Если на телефоне установлены приложения, которые могут обрабатывать такие же интенты, то пользователю будет предложено несколько приложений на выбор, и он сможет выбрать через какое открыть ссылку.
2. Android App Links
Android App Links доступны только с Android 6.0 (API 23) и позволяют назначать приложение дефолтным обработчиком ссылок определённого типа. Главное отличие от Deep Links заключается в том, что никакое другое приложение кроме вашего не сможет обработать ссылку.
В этой статье будет рассматриваться первый тип ссылок — Deep Links.
Постановка задачи
Давайте на простом и типичном примере посмотрим как можно добавить обработку глубоких ссылок в приложение.
Допустим, у нас есть сайт с вакансиями, на котором каждой вакансии соответствует ссылка вида https://awesomejobs.com/jobs/. Мы хотим, чтобы пользователям, у которых установленно наше приложение, при клике на ссылку предлагалось открыть её или через наше приложение, или через браузер.
Реализация
- Начнем с добавления нового intent-filter в Activity , на которую мы хотим направлять пользователя. Это нужно для того, чтобы система понимала какого вида ссылки мы хотим обрабатывать. В AndroidManifest.xml нужно добавить следующие строки:
android:host=" awesomejobs.com "
android:pathPrefix="/jobs" />
- action android.intent.action.VIEW говорит о том, что Activity предназначена для отображения контента.
- category android.intent.category.BROWSABLE требуется для того, чтобы мобильный браузер смог выполнить открытие ссылки из результатов поиска Google. Без этого аттрибута при клике по ссылке в мобильном браузере она будет открываться в самом же браузере.
category android.intent.category.DEFAULT требуется если вы хотите чтобы приложение обрабатывало ссылку с любого ссылающегося сайта. Интент, который используется при переходе из результатов поиска Google знает, что должен открыть именно ваше приложение, поэтому явно указывает на него как на получателя. Ссылки же с других сайтов не знают ничего о вашем приложении, поэтому категория DEFAULT говорит о том, что приложение способно принять неявный Intent от них.
2. Наше приложение научилось ловить интенты извне, теперь нам нужно написать код для того, чтобы перехватывать их, доставать id вакансии и с ним уже делать всё, что нам захочется (запрашивать с сервера информацию о вакансии с таким id и отображать её, например).
Для этого в метод onCreate активити, которую мы использовали в манифесте, добавим следующий код:
@Override
public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);
setContentView(R.layout.ac_job);
final Intent intent = getIntent();
final String action = intent.getAction();
final String data = intent.getDataString();
if (Intent.ACTION_VIEW.equals(action) && data != null) final String jobId = data.substring(data.lastIndexOf("/") + 1);
loadJobDetails(jobId);
>
>
Активити запускается интентом, содержащем в себе ссылку. data — это и есть не что иное, как наша ссылка. Получив её и выполнив необходимые проверки, мы вырезаем из неё id вакансии, подтягиваем её детали с сервера и отображаем на экране. Всё предельно просто.
URL-адреса ссылок на мобильное приложение в таблицах ссылок
Важно! Этот раздел относится только к кампаниям по электронной почте, для которых включено отслеживание ссылок.
Получателей можно перенаправить в мобильное приложение, когда они щелкнут ссылку на своем мобильном устройстве Android или iOS.
Указанное приложение будет открыто в том случае, если оно установлено на устройстве получателя. Если приложение не установлено или не указан URL-адрес приложения, получатель будет перенаправлен на URL-адрес ссылки.
Чтобы добавить ссылки на мобильное приложение в таблице ссылок:
- Чтобы получить правильные ссылки в мобильном приложении, взаимодействуйте со своей командой разработчиков мобильных приложений. URL-адрес ссылки в мобильном приложении должен быть в формате, понятном для мобильного приложения, например, example-app://products/1234 . Разработчикам мобильных приложений необходимо внедрить универсальные ссылки iOS и ссылки приложений Android в мобильное приложение для использования ссылок. Дополнительные сведения см. в следующих разделах:
- Универсальные ссылки (iOS)
- Ссылки на приложение (Android)
- URL-адрес ссылки IOS. Для устройств iOS. Этот URL-адрес будет направлять из кампании по электронной почте Responsys непосредственно в мобильные приложения iOS получателей (если они установлены) с помощью универсальных ссылок iOS.
- URL-адрес ссылки Android. Для устройств Android. Этот URL-адрес будет направлять из кампании по электронной почте Responsys непосредственно в мобильные приложения Android получателей (если они установлены) с помощью ссылок приложений Android.
Важно! Чтобы обеспечить максимальное удобство для пользователей вашего мобильного приложения, предоставьте ссылки для URL-адреса ссылки Android и URL-адреса ссылки IOS для таблицы ссылок. Например, распространенной ошибкой является отсутствие ссылки для URL-адреса ссылки Android, когда ссылка для URL-адреса ссылки IOS предоставлена. В этом случае интерфейс пользователей приложения Android будет менее оптимальным. Это относится и к пользователям приложений iOS. Для получения подробных сведений и рекомендаций разработчики мобильных приложений должны просмотреть разделы «Устранение неполадок» для разделов Универсальные ссылки (iOS) и Ссылки на приложение (Android).
См. также
Ссылки для разработчиков мобильных приложений:
- Универсальные ссылки (iOS)
- Ссылки на приложение (Android)
URL-адрес ссылки IOS, URL-адрес ссылки Android, ссылки мобильного приложения
Файл с расширением .url

Файл URL (Uniform Resource Locator) — это файл ярлыка, содержащий ссылку на веб-страницу или адрес иного ресурса в интернете. Для просмотра адреса веб-страницы достаточно открыть файл в простом текстовом редакторе, например, Блокноте или Notepad++. При двойном клике мышью по файлу URL в браузере откроется соответствующая веб-страница.
Как, чем открыть файл .url?


Double-click to open URL in associated program




Double-click to open URL in associated program



Double-click to open URL in associated program

Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла
Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.
Программы
- Проигрыватели аудио/видео
- Редакторы изображений
- Текстовые редакторы
- Web-браузеры
- Архиваторы
- Работа с дисками
- Офисные программы/пакеты
Файлы
- Аудио-файлы
- Видео-файлы
- Рисунки, изображения
- Растровые изображения
- Векторные изображения
- 3D-модели, изображения
- CAD-файлы
- Текст, документы
- Электронные таблицы
- Электронные книги
- Архивы, сжатые файлы
- Исполняемые файлы
- Интернет, web файлы
- Файлы игр
- Образы дисков
- Системные файлы
- Файлы шрифтов
- Зашифрованные файлы
- Размеченные документы
- Файлы резервных копий
- Файлы данных
- Файлы баз данных
- Скрипты, исходный код
- Подключаемые модули
- Файлы настроек
- Географические файлы
- Другие файлы
Как открыть ссылку в своём приложении вместо браузера
Проект построен на Ruby on Rails, есть мобильные приложения для ios/android. Задача: перенаправить открытие ссылки на эти приложения. Например: на сайте с телефона кликаю ссылку профиля, а она открывается в мобильном приложении. Что потребуется, чтобы реализовать это?
Отслеживать
задан 15 июл 2019 в 10:37
434 1 1 золотой знак 4 4 серебряных знака 17 17 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Надо будет внести пару правок в мобильные приложения, и загрузить пару файлов на сайт.
у iOS такой механизм называется universal links https://habr.com/ru/post/423315/
Отслеживать
ответ дан 15 июл 2019 в 18:54
Dmitry Davydov Dmitry Davydov
436 2 2 серебряных знака 7 7 бронзовых знаков
- android
- ios
- swift
- ruby-on-rails
- ruby
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.