Глубокие ссылки. Открывайте приложение. Изящно откатывайтесь.
Манифесты Universal Links и App Links, обслуживаемые вашим пользовательским доменом. iOS открывает ваше приложение по нажатию; Android делает то же самое. Резервное перенаправление в браузер на настольных компьютерах.
- Universal Links (iOS) и App Links (Android), обслуживаемые с вашего домена
- Отложенные диплинки - контекст переживает установку приложения
- Умное определение платформы с изящными фолбэками
- Без SDK - работает со стандартными механизмами ОС
Universal Links и App Links
Манифест-файлы, автоматически обслуживаемые с вашего домена
iOS Universal Links требуют файл apple-app-site-association . Android App Links требуют assetlinks.json. Elido автоматически генерирует и обслуживает оба с вашего кастомного домена - без отдельного хостинга, без ручного управления файлами.
- iOS Universal LinksBundle ID + Team ID → AASA автоматически обслуживается по пути /.well-known/
- Android App LinksИмя пакета + SHA-256 fingerprint → assetlinks.json, HTTPS обязателен
- Smart-link фолбэкПриложение не установлено → App Store / Play Store через rule-based маршрутизацию
- UTM passthroughUTM-параметры сохраняются в URL магазина - атрибуция не ломается
- Без SDK в вашем приложенииТолько OS-level перехват; intent-filter и continueUserActivity
{ "applinks": { "apps": [], "details": [ { "appID": "TEAMID.com.yours.app", "paths": [ "/product/*", "/referral/*", "/invite/*" ] } ] } }
[{ "relation": [ "delegate_permission/ common.handle_all_urls" ], "target": { "namespace": "android_app", "package_name": "com.yourcompany.app", "sha256_cert_fingerprints": [ "AB:12:CD:34:EF:56:..." ] } }]
Обслуживается с вашего кастомного домена автоматически. Настройте bundle ID + Team ID (iOS) или имя пакета + SHA-256 fingerprint (Android) в настройках домена - Elido генерирует и хостит оба файла.
Отложенные диплинки
Контекст, переживающий установку
Когда приложение не установлено, пользователь идёт в магазин, устанавливает и открывает приложение. Отложенный диплинкинг передаёт оригинальный deep-link контекст через этот путь, чтобы приложение могло привести пользователя ровно на тот экран, где надо, после первого запуска.
- 01
Нажимает на ссылку
Пользователь нажимает короткую ссылку Elido - из email, соцсетей, QR.
go.yourcompany.com/p/12345 - 02
Нет приложения → Магазин
Приложение не установлено. ОС определяет по проверке AASA / assetlinks. Откатывается в App Store или Play Store.
iOS → App Store · Android → Play Store - 03
Устанавливает приложение
Пользователь устанавливает из магазина. Install referrer несёт контекст клика как query-параметр.
click_id + UTM сохранены в URL referrer'а - 04
Открывает приложение
Приложение запускается впервые. MMP читает install referrer; связывает click_id с событием установки.
Appsflyer / Adjust / Branch подхватывают - 05
Попадает на нужный экран
Приложение маршрутизирует на оригинально привязанный экран - product/12345 - как если бы приложение уже было.
product/12345 - контекст сохранён через установку
Параметр click_id и UTM из оригинальной короткой ссылки передаются как query-параметры в URL магазина. Mobile Measurement Platforms (MMP), которые захватывают install referrer - Appsflyer, Adjust, Branch - могут сматчить установку с исходным кликом. Полный отложенный диплинкинг (передача in-app контекста через установку) требует SDK MMP в вашем приложении; Elido покрывает слой ссылок.
Умное определение платформы
Одна ссылка. Три пути редиректа.
Edge читает User-Agent и сигналы платформы на уровне редиректа - до того, как запустится любой JS. iPhone получает Universal Links, Android получает App Links, десктоп получает ваш веб-фолбэк. Без задержки JavaScript-редиректа; без клиентского определения платформы.
- Парсинг UA на edge, субмиллисекунды
- iOS → перехват Universal Link операционной системой
- Android → перехват App Link через intent-filter
- Десктоп → веб-URL, без объезда через магазин
- Внутри-приложенческие браузеры определяются и редиректятся в системный браузер
- Сочетается со smart-link правилами - гео + устройство + диплинк
Что вы можете делать
- Apple App Site Association
- Android Asset Links
- Правила умных ссылок для резервного перенаправления в магазин
- Протестировано с adb и xcrun
Как на самом деле работают диплинки - и где они ломаются
Universal Links и App Links - это механизмы на уровне ОС. Настройка проста, но пограничные случаи - нет. Здесь описана вся картина.
apple-app-site-association раздается автоматически с вашего кастомного домена
Universal Links требуют наличия файла apple-app-site-association (AASA) по пути /.well-known/apple-app-site-association на вашем кастомном домене. iOS скачивает этот файл при установке приложения; он связывает ваш домен с bundle ID и team ID приложения. Если привязка верна, нажатие на HTTPS-ссылку вашего домена в любом приложении iOS (Safari, Почта, Twitter, Instagram) откроет ваше приложение напрямую вместо браузера. Elido автоматически генерирует и раздает файл AASA с вашего домена на основе данных, указанных в настройках. Вам не нужно хостить файл отдельно. iOS кэширует AASA и периодически обновляет его; изменения в Elido вступают в силу мгновенно, но устройства подхватят их при следующем обновлении кэша (обычно 24-48 часов или при переустановке). Проверено валидатором Apple AASA в каждом релизе Elido.
assetlinks.json раздается автоматически - SHA-256 отпечаток вашего ключа подписи
Android App Links требуют наличия файла Digital Asset Links по пути /.well-known/assetlinks.json на вашем домене. Файл связывает домен с именем пакета приложения и SHA-256 отпечатком вашего сертификата подписи. Android проверяет этот файл при установке и периодически после неё. Elido раздает его автоматически на основе настроенных вами данных. Для верификации Android требуется HTTPS (обеспечивается TLS от Elido) и быстрый ответ сервера. Распространенная ошибка: разные ключи для debug и release сборок имеют разные SHA-256. Укажите оба отпечатка в настройках Elido для тестирования; для продакшена нужен только release. Проверено через adb shell pm get-app-links.
Приложение установлено → диплинк. Не установлено → магазин. Десктоп → веб. UTM сохраняются везде.
Цепочка отката настраивается для каждой ссылки или домена. Для короткой ссылки с диплинком: если ОС перехватывает нажатие (приложение установлено, домен подтвержден), открывается приложение. Если нет, ссылка открывается в браузере, который перенаправляет в App Store / Play Store или на веб-страницу. Правила смарт-ссылок управляют этим: настройте правило iOS → App Store, Android → Play Store и дефолтный веб-адрес. Параметры UTM сохраняются в URL отката, поэтому атрибуция не прерывается при переходе в магазин. Отложенные диплинки (передача пути внутрь приложения после установки) требуют SDK - Elido этого не делает. Для этого по-прежнему нужны Appsflyer, Adjust или Firebase App Distribution.
Пост-установочный ретаргетинг: click ID передается для атрибуции
При редиректе через диплинк Elido передает click_id как параметр запроса в URL отката. Если пользователь попадает в магазин и устанавливает приложение, click_id присутствует в реферальном URL, но не пробрасывается в приложение автоматически - для этого нужны SKAdNetwork на iOS или SDK для отложенных диплинков на Android. Elido передает click_id и UTM в URL магазина, чтобы платформа мобильной атрибуции (MMP), фиксирующая источник установки, могла их считать. Это работает с Appsflyer и Adjust, если передать click_id в параметре кампании. Без использования MMP click_id в ссылке на магазин будет фактически утерян после установки.
Миграция с Firebase Dynamic Links (закрытие в 2025 году)
Google закрывает Firebase Dynamic Links в 2025 году. Elido поддерживает основной паттерн: единая HTTPS-ссылка, которая открывает нужный экран в приложении, ведет в магазин или на веб-сайт. Настройте AASA и assetlinks.json в Elido (вместо хостинга Firebase), обновите ссылки на домен Elido и настройте цепочку отката через смарт-ссылки. Что Elido не заменяет: отложенные диплинки Firebase (контекст после установки через SDK) и диплинки App Distribution. Если ваше приложение сильно зависит от передачи контекста через установку, вам понадобятся Branch или Adjust вместе с Elido. Для кейсов 'открыть экран, если установлено, иначе - в магазин' Elido полностью заменяет Firebase Dynamic Links.
Мобильные команды, использующие диплинки Elido
Имена являются временными заглушками - реальные названия появятся по мере публикации кейсов.
“Мы перешли с Firebase Dynamic Links сразу после анонса их закрытия. Настройка AASA и assetlinks.json в Elido заняла полдня. Смарт-ссылки заменили логику SDK Firebase для маршрутизации в магазины приложений.”
“Аналитика кликов по диплинкам показала, что 35% переходов были с десктопа, где у нас не было отката. Добавление fallback заняло 10 минут; конверсия выросла, так как пользователи с компьютеров теперь могут завершить целевое действие.”
“Мы используем короткие ссылки Elido с диплинками для реферальных программ. Передача UTM в URL магазина означает, что наша MMP корректно определяет источник установки - атрибуция работает без внедрения кастомных SDK.”
Диплинки Elido против Branch.io, Adjust и Firebase Dynamic Links (закрыт)
Branch и Adjust - это полноценные платформы атрибуции, более мощные для отложенных диплинков. Elido - правильный выбор, когда диплинки являются частью общей системы сокращения ссылок, а не основным продуктом.
| Feature | Elido | Branch.io | Adjust |
|---|---|---|---|
| Universal Links (iOS) | Авто-раздача AASA с вашего домена | Полное управление при масштабировании | Нет - только MMP, не хостинг диплинков |
| App Links (Android) | Авто-раздача assetlinks.json с вашего домена | Полное управление | Нет |
| Нужен SDK в приложении | Нет - перехват на уровне ОС | Да - Branch SDK | Да - Adjust SDK |
| Отложенные диплинки | Нет - требуется SDK в приложении | Да - основная функция | Да - через Adjust SDK |
| Мобильная атрибуция (MMP) | Передача click ID; ручная настройка MMP | Нативная MMP - интеграции с Appsflyer, Kochava | Полноценная MMP-платформа |
| Передача UTM в магазин | Да - через параметры в URL отката | Да, с контекстом атрибуции | Да |
| Аналитика кликов | Аналитическое хранилище - гео, устройства, по каждой ссылке | Глубокая мобильная атрибуция | Данные по установкам и событиям |
| Замена Firebase Dynamic Links | Да для базовых сценариев; нет для отложенных | Полная замена, включая отложенные | Частичная - только со стороны MMP |
Вопросы по диплинкам
Нужен ли мне Branch SDK или любой другой SDK для работы диплинков Elido?
Нет. Диплинки Elido используют механизмы iOS Universal Links и Android App Links на уровне ОС. Вашему приложению достаточно обрабатывать входящий URL стандартными методами iOS (scene:openURLContexts или application:continueUserActivity) или Android (intent-filter в манифесте). Никакие сторонние SDK не требуются; ОС сама перехватывает ссылку на основе файлов AASA и assetlinks.json, которые Elido раздает с вашего домена.
Как выглядит процесс настройки AASA?
В настройках домена Elido → Диплинки: введите bundle ID вашего iOS-приложения (например, com.company.app) и Apple Team ID (10-значная строка из аккаунта разработчика Apple). Elido сгенерирует AASA JSON и будет раздавать его по пути /.well-known/apple-app-site-association. Проверьте доступность через curl перед отправкой приложения в TestFlight или App Store. iOS скачивает этот файл при установке приложения.
Можно ли привязать несколько приложений к одному домену?
Да, файл AASA поддерживает несколько записей. Настройте bundle ID и Team ID для каждого приложения; Elido создаст комбинированный файл со списком всех приложений. Android assetlinks.json также поддерживает несколько комбинаций имени пакета и отпечатка ключа. Типичный случай: основное приложение и App Clip или виджет.
Firebase Dynamic Links закрывается - каков путь миграции?
Замените короткие ссылки page.link на ссылки Elido (ваш кастомный домен или общий домен Elido). Настройте AASA и assetlinks.json в настройках домена Elido. Установите цепочку отката через смарт-ссылки (iOS → App Store, Android → Play Store, иначе → веб). Обновите генерацию ссылок в приложении на вызов API create_link Elido. Что не переносится: если вы используете отложенные диплинки Firebase (передача данных после установки), для этой части понадобятся Branch или Adjust.
Как протестировать Universal Links до публикации в App Store?
Используйте команду xcrun simctl openurl booted 'https://go.yourcompany.com/test-slug' в симуляторе с установленным приложением. На реальном устройстве с debug-сборкой зажмите ссылку в Safari и проверьте, появилось ли меню 'Открыть в приложении'. Apple также предоставляет App Association File Validator - вставьте туда URL вашего AASA, и он проверит доступность, Content-Type и валидность JSON. AASA от Elido проходит все проверки.
Что такое отложенные диплинки и почему Elido их не делает?
Отложенные диплинки передают контекст (например, ID просматриваемого товара) через процесс установки приложения. Это требует наличия SDK для фингерпринтинга или атрибуции (Branch, Appsflyer, Adjust), который сопоставляет установку с кликом. Elido не внедряет код в ваше приложение и только раздает файлы конфигурации. Без SDK нет механизма передачи контекста через установку. Для сценария 'открыть экран, если установлено' возможностей Elido достаточно. Для передачи данных через установку нужна MMP.
Можно ли использовать диплинки на общем домене Elido (s.elido.me)?
Нет. Universal Links и App Links требуют владения доменом - вы не можете заявить права на *.elido.me для своего приложения. Для диплинков нужен кастомный домен на тарифах Pro или Business. Elido будет раздавать файлы AASA и assetlinks.json именно с вашего настроенного домена.
Что делать, если браузер блокирует перехват ссылки приложением?
Некоторые браузеры (например, старые версии Chrome на Android или встроенные браузеры Instagram) могут блокировать App Links или Universal Links. В этом случае пользователь увидит URL отката. Для встроенных браузеров можно сначала перенаправлять в системный браузер через intent URL (Android) или подсказку пользователю. Elido не внедряет такие подсказки автоматически - вы сами контролируете контент страницы назначения.
Читать дальше
Настройка домена - необходима для диплинков; AASA и assetlinks.json раздаются с вашего хоста.
iOS → App Store, Android → Play Store, десктоп → веб - цепочка отката через правила смарт-ссылок.
Как продакт-менеджеры используют диплинки вместе с A/B тестами и смарт-правилами.
Интеграции с MMP - Appsflyer, Adjust и Branch для отложенных диплинков в связке с Elido.
Готовы попробовать?
Начните с бесплатного тарифа, перейдите на платный, когда вам понадобится пользовательский домен.