Глибокі посилання. Відкривайте застосунок. Витончено відкочуйтеся.
Universal Links та App Links manifests, що обслуговуються з вашого власного домену. 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
- Smart-link правила для резервного варіанта магазину
- Протестовано за допомогою 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, Mail, Twitter, Instagram) відкриває ваш застосунок напряму замість переходу в браузер. Elido автоматично створює та надає файл AASA з відомого шляху вашого власного домену на основі Bundle ID та Team ID, які ви налаштували в параметрах домену. Вам не потрібно хостити файл окремо. iOS кешує файл AASA і періодично завантажує його знову; якщо ви зміните конфігурацію Bundle ID у налаштуваннях домену Elido, новий AASA стає доступним за лічені секунди, але пристрої iOS отримають його під час наступного оновлення кешу (зазвичай 24-48 годин або при перевстановленні застосунку). Перевірено за допомогою валідатора Apple AASA для кожного релізу Elido.
assetlinks.json видається автоматично - SHA-256 відбиток вашого ключа підпису
Android App Links потребують файл Digital Asset Links за шляхом /.well-known/assetlinks.json на вашому домені. Файл пов'язує ваш домен із назвою пакета застосунку та SHA-256 відбитком вашого сертифіката підпису. Android перевіряє цей файл під час встановлення застосунку та періодично після цього. Elido автоматично надає його з вашого власного домену на основі назви пакета та SHA-256 відбитка, які ви налаштували. Перевірка Android вимагає HTTPS (забезпечується TLS від Elido на власному домені), і файл має відповідати протягом декількох секунд (також обробляється). Один з поширених випадків збоїв: різні ключі підпису для налагоджувальних (debug) та релізних збірок мають різні SHA-256 відбитки. Налаштуйте обидва відбитки в параметрах домену Elido, якщо ви тестуєте налагоджувальну збірку; для релізних збірок потрібен лише релізний відбиток. Перевірено за допомогою adb shell pm get-app-links для кожного релізу.
Застосунок встановлено → глибоке посилання. Застосунок не встановлено → магазин. Десктоп → веб. UTM зберігаються всюди.
Ланцюжок резервних переходів (fallback chain) встановлюється для кожного посилання або домену в налаштуваннях Elido. Для короткого посилання з конфігурацією глибокого посилання: якщо ОС перехоплює натискання (застосунок встановлено, домен підтверджено), відкривається застосунок. Якщо ні (застосунок не встановлено), посилання відкривається в браузері; пунктом призначення в браузері має бути ваше посилання на App Store / Play Store або веб-сторінка. Правила смарт-посилань обробляють це чітко: налаштуйте правило для iOS → URL App Store, правило для Android → URL Play Store та резервний перехід на веб-адресу. UTM-параметри з оригінального короткого посилання зберігаються в резервних URL-адресах, тому атрибуція не переривається, коли користувач потрапляє в магазин. Відкладене глибоке посилання (передача специфічного шляху глибокого посилання через встановлення, щоб застосунок відкрився на потрібному екрані після встановлення) вимагає SDK у застосунку - Elido цього не надає. Для відкладених глибоких посилань вам все одно знадобляться Appsflyer, Adjust або Firebase App Distribution.
Ретаргетинг після встановлення: click_id передається в пункт призначення для атрибуції
При перенаправленні за глибоким посиланням Elido передає click_id як параметр запиту в резервний URL. Якщо користувач потрапляє в App Store і встановлює застосунок, click_id є в реферальному URL, але він не поширюється автоматично в застосунок після встановлення - для цього потрібен SKAdNetwork на iOS або SDK для відкладених глибоких посилань на Android. Що робить Elido: передає click_id та UTM-параметри в URL магазину, щоб платформа мобільної атрибуції (MMP), яка фіксує реферер встановлення, могла їх підхопити. Це працює з Appsflyer та Adjust, якщо ви передаєте click_id у параметрі кампанії URL магазину. Якщо ви не використовуєте MMP, click_id в URL магазину фактично втрачається після встановлення.
Міграція з Firebase Dynamic Links (закриття у 2025 році)
Firebase Dynamic Links було закрито Google у 2025 році. Elido може обробляти основний патерн: єдине коротке HTTPS-посилання, яке відкриває потрібний екран у встановленому застосунку, переходить до магазину за потреби та відкриває веб-версію на десктопі. Налаштуйте AASA та assetlinks.json у параметрах домену Elido (замінює хостинг цих файлів у Firebase), оновіть свої посилання для поширення, щоб вони вказували на короткі посилання Elido замість URL page.link, і налаштуйте ланцюжок резервних переходів за допомогою правил смарт-посилань. Що Elido не замінює: відкладені глибокі посилання Firebase (контекст глибокого посилання після встановлення через Firebase SDK) та глибокі посилання Firebase App Distribution. Якщо ваш застосунок значною мірою покладається на відкладені глибокі посилання, вам знадобляться Appsflyer, Adjust або Branch поряд з Elido для рівня атрибуції. Для застосунків, яким потрібно лише «відкрити потрібний екран, якщо встановлено, інакше перейти в магазин», Elido повністю замінює Firebase Dynamic Links.
Мобільні команди, що використовують глибокі посилання Elido
Назви наразі є плейсхолдерами - реальні імена клієнтів з'являться тут після публікації кейсів.
“Ми мігрували з Firebase Dynamic Links того ж тижня, коли було оголошено про закриття сервісу. Налаштування AASA та assetlinks.json в Elido зайняло півдня. Ланцюжок переходів смарт-посилань замінив логіку Firebase SDK, яку ми мали в застосунку для маршрутизації в магазини.”
“Аналітика кліків за глибокими посиланнями показала нам, що 35% наших посилань для поширення відкривалися на десктопі - а у нас не було налаштовано резервного переходу на веб. Додавання резервної адреси зайняло 10 хвилин; конверсія посилань зросла, бо користувачі з десктопів тепер могли завершити дію.”
“Ми використовуємо короткі посилання Elido з конфігурацією глибоких посилань для реферальних програм. Передача UTM в URL App Store означає, що наша MMP правильно фіксує реферер встановлення - атрибуція працює без розробки власного SDK з нашого боку.”
Глибокі посилання Elido проти Branch.io проти Adjust проти Firebase Dynamic Links (закрито)
Branch та Adjust - це повноцінні платформи мобільної атрибуції, потужніші для відкладених глибоких посилань та MMP-атрибуції. 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.yourcompany.app) та Apple Team ID (10-символьний рядок з вашого облікового запису Apple Developer). Elido генерує AASA JSON і надає його за адресою /.well-known/apple-app-site-association на вашому власному домені. Перевірте його доступність за допомогою curl перед відправкою застосунку в TestFlight або App Store. iOS завантажує файл AASA під час встановлення застосунку на пристрої з iOS 9+.
Чи можу я мати кілька застосунків на одному домені?
Так - файл AASA підтримує запис для кількох застосунків. Налаштуйте Bundle ID та Team ID для кожного застосунку в параметрах домену; Elido згенерує комбінований AASA зі списком усіх застосунків. Android assetlinks.json також підтримує комбінації з кількох назв пакетів та відбитків пальців. Типовий випадок: основний застосунок та App Clip, або основний застосунок та розширення віджетів.
Firebase Dynamic Links закрито - який шлях міграції?
Замініть короткі URL page.link на короткі посилання Elido (ваш власний домен або загальний домен Elido). Налаштуйте AASA та assetlinks.json у параметрах домену Elido. Встановіть ланцюжок резервних переходів за допомогою правил смарт-посилань (правило iOS → App Store, правило Android → Play Store, резервний перехід → веб). Оновіть генерацію посилань для поширення у вашому застосунку, щоб викликати API create_link Elido замість Firebase. Що не підлягає міграції: якщо ваш застосунок покладається на відкладені глибокі посилання Firebase (передача інтенту після встановлення), вам знадобиться Branch або Adjust для цієї частини.
Як протестувати Universal Links перед публікацією в App Store?
Використовуйте xcrun simctl openurl booted 'https://go.yourcompany.com/test-slug' зі встановленим застосунком на симуляторі. На фізичному пристрої з налагоджувальною збіркою довго натисніть на посилання в Safari і подивіться, чи з'явиться пункт «Відкрити в застосунку». Apple також надає App Association File Validator на сайті developer.apple.com - вставте URL вашого AASA, і він перевірить доступність, Content-Type та валідність JSON. AASA від Elido проходить всі три перевірки.
Що таке відкладені глибокі посилання і чому Elido їх не підтримує?
Відкладені глибокі посилання передають контекст (наприклад, «користувач переглядав товар з ID 123») через процес встановлення застосунку аж до його першого запуску. Це вимагає SDK для фінгерпринтингу або атрибуції в застосунку (Branch, Appsflyer, Adjust), який зіставляє встановлення з кліком під час самого процесу встановлення. Elido не встановлює SDK-код у ваш застосунок; ми лише надаємо AASA та assetlinks.json. Без SDK немає механізму для передачі контексту через встановлення. Для базового випадку «відкрити потрібний екран, якщо встановлено» можливостей Elido достатньо. Для передачі інтенту через встановлення потрібна MMP.
Чи можу я використовувати глибокі посилання на загальному домені Elido (s.elido.me)?
Ні. Universal Links та App Links потребують вашого власного домену - ви не можете претендувати на *.elido.me як домен Universal Link для свого застосунку. Глибокі посилання потребують власного домену на тарифах Pro або Business. Власний домен - це те, що ви налаштовуєте у своїх AASA та assetlinks.json, і Elido видає ці файли з нього.
Як обробити випадок, коли браузер користувача блокує перехоплення застосунком?
Деякі браузери (зокрема Chrome на Android версій нижче 6.0 та деякі вбудовані браузери, як в Instagram) блокують перехоплення App Links або Universal Link. У такому разі користувач бачить резервний URL. Для вбудованих браузерів: спочатку перенаправте в системний браузер за допомогою intent URL (Android) або підказки користувачеві. Для вбудованих браузерів Instagram / TikTok: стандартний підхід полягає в показі повідомлення «натисніть, щоб відкрити у вашому браузері». Elido не додає цю підказку автоматично - резервним URL є ваш пункт призначення, і ви самі контролюєте, що там відбувається.
Читати далі
Налаштування власних доменів - необхідно для глибоких посилань; AASA та assetlinks.json видаються з вашого хоста.
iOS → App Store, Android → Play Store, десктоп → веб - ланцюжок резервних переходів за допомогою правил смарт-посилань.
Як команди продукту використовують глибокі посилання разом з A/B варіантами та правилами смарт-посилань.
Інтеграції з MMP - Appsflyer, Adjust та Branch для відкладених глибоких посилань поряд з Elido.
Готові спробувати?
Почніть з безкоштовного плану, оновіть, коли вам знадобиться власний домен.