Что вы настроите
- Загрузи файлы Apple App Site Association и Android Asset Links, чтобы Elido автоматически раздавал их на твоём кастомном домене.
- Задай конфигурации iOS и Android на уровне ссылки — App ID, путь внутри приложения и fallback URL — чтобы клики открывали нужный экран или переходили в магазин.
- Измеряй open-rate по платформам на вкладке Analytics → Deep linking ссылки.
Диплинки открывают нативные приложения напрямую по короткому URL. Если у посетителя установлено твоё приложение, ссылка запускает нужный экран внутри него. Если нет — переходит на App Store (iOS) или Play Store (Android), либо на любой другой URL, который ты настроишь.
Что нужно#
Для использования диплинков нужно:
- iOS-приложение с настроенными Universal Links, ИЛИ
- Android-приложение с настроенными App Links, ИЛИ
- Кастомные URI-схемы (
myapp://), если Universal/App Links ещё не настроены.
Для Universal Links и App Links также нужно опубликовать файлы ассоциации (apple-app-site-association для iOS, assetlinks.json для Android) на своём кастомном домене. Elido автоматически раздаёт их за тебя после загрузки файла в Settings → Domains → Deep linking.
Настройка диплинков для ссылки#
- Открой страницу деталей ссылки → Targeting → Deep linking.
- Включи переключатель диплинков.
- Добавь конфигурацию iOS:
- App ID — например
K72L8M4N9P.com.acme.myapp(Team ID + bundle identifier из Apple Developer account). - In-app path — куда должно маршрутизировать приложение. Путь добавляется к хосту universal link; SDK в приложении читает его из URL запуска.
- Fallback URL — куда отправлять посетителей без приложения. Обычно страница приложения в App Store.
- App ID — например
- Добавь конфигурацию Android:
- Package name — например
com.acme.myapp. - In-app path — то же самое, что для iOS.
- Fallback URL — обычно URL Play Store с именем пакета.
- Package name — например
- Save. Теперь при каждом клике ссылка будет выполнять маршрутизацию на основе устройства.
Что происходит при клике#
Обработчик редиректа возвращает HTML-заглушку, которая запускает около 50 мс JavaScript. Заглушка:
- Определяет iOS vs Android vs десктоп.
- На iOS: пытается открыть через Universal Link. Если ОС открывает приложение — готово.
- На Android: то же самое с App Links.
- Через 1,2 секунды без ответа от приложения страница перенаправляет на fallback URL.
Посетители с десктопа всегда попадают напрямую на fallback URL — открывать нечего.
Если посетитель на нераспознанной платформе (встроенный браузер WeChat и т.д.), ссылка переходит на десктопное направление. Это можно переопределить с помощью правил smart-link.
Резервная URI-схема#
Если Universal Links / App Links ещё не настроены, можно использовать кастомную URI-схему:
- iOS scheme:
myapp:// - Android scheme:
myapp://
Заглушка попытается открыть схему и перейдёт на App Store / Play Store через 1,2 секунды. Недостаток — ОС показывает подтверждение «Открыть в My App?» при первом запуске, которого Universal Links избегают.
Аналитика#
Каждый клик регистрирует, открылось приложение или был использован fallback. Вкладка Analytics → Deep linking ссылки показывает open-rate по платформам — полезно для измерения работоспособности файлов ассоциации.
Ограничения#
- Одна конфигурация iOS и одна конфигурация Android на ссылку.
- Диплинки доступны на Pro и Business; бесплатный план поддерживает только плоские редиректы.
Частые подводные камни#
Universal Links работают на реальном устройстве, но не в симуляторе. Это ожидаемо — симулятор Apple не может получить файл AASA. Тестируй на реальном телефоне.
Fallback URL открывается до того, как приложение успевает сработать. Некоторые Android-браузеры (в частности Samsung Internet) перехватывают схему до того, как ОС её видит. Убедись, что настройка App Links завершена: домен подтверждён, package name правильный, SHA-256 fingerprint совпадает.
iOS иногда показывает баннер с tap-target вместо открытия приложения. Это iOS «Open in Safari → Smart Banner» воспринимает страницу как обычный сайт. Повторная загрузка файла AASA с правильным App ID обычно это исправляет.
Ссылка открывает приложение, но не тот экран. Внутренняя маршрутизация приложения не совпадает с передаваемым Elido путём. Логируй URL запуска внутри приложения, чтобы убедиться в том, что реально получаешь, затем обнови конфигурацию пути для совпадения.