Skip to Content
📝

Диплинки требуют подписки на тарифный план Pro  или выше.

В Revroute вы можете создавать диплинки, позволяющие перенаправлять пользователей на определённую страницу вашего мобильного приложения.

Deep links on Revroute

Например, вы создаёте рекламную кампанию для привлечения трафика на страницу конкретного продукта в вашем мобильном приложении.

Следуя приведённому ниже руководству быстрого старта, вы сможете настроить все ваши короткие ссылки с функциональностью диплинков.

Шаг 1: Настройте домены диплинков в Revroute

Прежде чем создавать диплинки, необходимо настроить домены диплинков в вашем рабочем пространстве Revroute. Для этого нужно добавить пользовательский домен, который будет использоваться для диплинков, и настроить конфигурационные файлы диплинков.

Добавление пользовательского домена

Сначала необходимо добавить пользовательский домен в ваше рабочее пространство Revroute. Перейдите в настройки доменов рабочего пространства  и нажмите Add Domain.

Вы можете использовать домен, которым уже владеете, или воспользоваться нашим предложением бесплатного домена .link для регистрации пользовательского домена, например yourcompany.link, и использовать его как домен диплинков.

Настройка конфигурационных файлов диплинков

После настройки пользовательского домена необходимо загрузить конфигурационные файлы диплинков в Revroute, которые мы будем размещать в директории /.well-known/ вашего домена.

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

Deep link configuration files

В открывшемся окне домена нажмите Show advanced settings — появятся поля настройки конфигурации диплинков.

Deep link configuration settings

iOS (apple-app-site-association)

Для приложений на iOS загрузите файл Apple App Site Association  — он включает диплинки на iOS:

{ "applinks": { "apps": [], "details": [ { "appID": "<YOUR_APPLICATION_IDENTIFIER_PREFIX>.<YOUR_APPLICATION_BUNDLE_IDENTIFIER>", "paths": [] } ] } }
📝

После обновления файла AASA приложение может потребоваться переустановить: iOS кеширует старую версию файла, из-за чего поведение становится непредсказуемым.

Android (assetlinks.json)

Для приложений на Android загрузите файл AssetLinks — он включает диплинки на Android:

[ { "target": { "namespace": "android_app", "package_name": "YOUR_PACKAGE_NAME", "sha256_cert_fingerprints": [] }, "relation": ["delegate_permission/common.handle_all_urls"] } ]

Проверьте конфигурационные файлы

После загрузки конфигурационных файлов откройте их по прямым адресам и убедитесь, что они отдаются:

iOS: yourdomain.link/.well-known/apple-app-site-association (пример) 

Android: yourdomain.link/.well-known/assetlinks.json (пример) 

Разрешите домен диплинков в приложении

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

Для приложений на iOSразрешите сайтам ссылаться на ваше приложение .

Для приложений на Androidподтвердите ссылки приложения .

Шаг 2: Создайте диплинки в Revroute

Домены настроены — теперь можно создавать диплинки, которые открывают конкретный экран вашего приложения.

Укажите целевой URL

Откройте кабинет Revroute  и нажмите Create Link в верхней панели.

Введите целевой URL в поле «Destination URL». Протокол https:// можно не указывать — Revroute приведёт адрес к корректному виду сам.

Это тот адрес, который открывает конкретный экран или материал в приложении. Например, https://yourapp.com/product/Apple-MacBook открывает карточку товара Apple-MacBook.

Deep link builder

Задайте слаг короткой ссылки

В поле Short Link можно:

  1. Ввести собственный слаг
  2. Сгенерировать случайный слаг
  3. Сгенерировать слаг с помощью ИИ

Например, слаг apple-macbook будет открывать карточку товара Apple-MacBook.

💡

Шаг необязательный: если слаг не указать, Revroute сгенерирует случайный слаг из 7 символов.

Настройте таргетинг по устройствам

Таргетинг по устройствам отправляет пользователя в App Store или Google Play, если приложение не установлено.

Разные целевые адреса для разных платформ задаются прямо в конструкторе ссылок: поле iOS Targeting — для устройств на iOS, Android Targeting — для Android.

Deep link device targeting configuration

Осталось нажать Create link. Полученная ссылка заменяет Firebase Dynamic Link.

📝

В конструкторе ссылок Revroute есть и другие возможности: UTM-конструктор, защита паролем, срок действия, гео-таргетинг. Полный список — в статье «Как создать короткую ссылку».

Шаг 3: Обработка переходов по диплинкам в приложении

Когда пользователь открывает приложение по диплинку, нужно предусмотреть два сценария.

Сценарий 1: приложение уже установлено

Диплинк открывает приложение напрямую — обработайте переход в коде приложения, как показано ниже.

Поймайте диплинк

При открытии приложение получит URL диплинка в формате https://yourdomain.link/short-link-slug.

// App.js import { useEffect } from "react"; import { Linking } from "react-native"; useEffect(() => { const handleDeepLink = (url) => { try { // Call the tracking endpoint with the full deep link URL trackDeepLinkClick(url); } catch (error) { console.error("Error handling deep link URL:", error); } }; // Handle deep link when app is already running const subscription = Linking.addEventListener("url", (event) => { handleDeepLink(event.url); }); // Handle deep link when app is opened from a deep link Linking.getInitialURL().then((url) => { if (url) { handleDeepLink(url); } }); return () => { subscription?.remove(); }; }, []);

Отправьте событие открытия

Получив и разобрав диплинк, отправьте событие открытия в API Revroute — в ответе придёт финальный целевой адрес.

Для этого выполните POST-запрос к эндпоинту /track/open с таким телом:

{ "deepLink": "https://yourdomain.link/short-link-slug" }

При успешном запросе ответ будет JSON-объектом такой структуры:

{ "clickId": "ASltDhoxBiBqKH00", "link": { "id": "link_1K9XQTLF7OSH3Z48DKQ5WSRVY", "domain": "yourdomain.link", "key": "short-link-slug", "url": "https://yourapp.com/product/Apple-MacBook" } }

Целевой адрес лежит в link.url — по нему можно открыть нужный экран приложения.

Ниже — полные примеры для React Native, iOS и Android.

// DeepLinkTracker.js async function trackDeepLinkClick(deepLink) { try { const response = await fetch(`https://api.revroute.ru/track/open`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ deepLink, }), }); if (response.ok) { const data = await response.json(); const destinationUrl = data.link.url; // Navigate to the destination URL in your app navigateToDestination(destinationUrl); } } catch (error) { console.error("Error tracking deep link:", error); } }

Сценарий 2: приложение не установлено

Если приложения нет, пользователь попадёт в App Store или Google Play — за это отвечает таргетинг по устройствам, настроенный на шаге 2.

После установки и первого запуска в дело вступает отложенный диплинкинг. Приложению нужно:

  1. Восстановить короткую ссылку, которая привела пользователя в магазин приложений
  2. Отправить событие открытия через эндпоинт /track/open
  3. Открыть финальный целевой адрес
📝

Подробный разбор отложенного диплинкинга, включая работу с Install Referrer API в Google Play, — в руководстве «Отложенные глубокие ссылки».

Тестирование диплинков

Перед выкаткой в продакшен проверьте диплинки на эмуляторах.

Проверка на эмуляторе Android

Для проверки на эмуляторе Android используйте Android Debug Bridge (adb):

adb shell am start -W -a android.intent.action.VIEW -d "https://yourdomain.link/your-short-link" com.yourpackage.name

Проверка на симуляторе iOS

Для проверки на симуляторе iOS используйте команду xcrun:

xcrun simctl openurl booted "https://yourdomain.link/your-short-link"

Проверка на реальном устройстве

Диплинк можно проверить и вручную, открыв его из мессенджера на телефоне:

  1. Откройте мессенджер на устройстве
  2. Отправьте себе сообщение со ссылкой-диплинком
  3. Нажмите на ссылку в сообщении
  4. Ссылка должна либо открыть приложение, либо увести в магазин приложений

Диагностика проблем с диплинками

Если диплинки работают не так, как ожидалось, начните с типовых причин.

Домен диплинков не разрешён в приложении

Убедитесь, что домен диплинков внесён в конфигурацию приложения. Без этого ни iOS, ни Android не распознают ссылки с вашего домена.

Система закешировала старую конфигурацию

Если все шаги выполнены, а диплинки не работают, скорее всего iOS или Android держат в кеше старую конфигурацию.

Удалите и установите приложение заново — так система заново запросит файлы apple-app-site-association или assetlinks.json.

Ссылку обернул сторонний сервис

Если ссылки рассылаются через маркетинговые платформы, почтовые сервисы или кликтрекеры, исходный адрес может быть обёрнут или изменён.

Когда сторонний сервис оборачивает ссылку Revroute в собственный трекинговый URL, диплинк не срабатывает: устройство видит домен обёртки, а не ваш разрешённый домен.

Попросите вашего провайдера рассылок или аналитики пропускать ссылки Revroute без изменений.

Last updated on