Elido
Все, що робить Elido
Pro та Business

Глибокі посилання. Open the app. Fall back gracefully.

Universal Links та App Links manifests, що обслуговуються з вашого власного домену. iOS відкриває ваш додаток за натисканням; Android робить те саме. Резервний варіант браузера на настільних комп'ютерах.

  • Universal Links (iOS) and App Links (Android) served from your domain
  • Deferred deep links — context survives app install
  • Smart platform detection with graceful fallbacks
  • No SDK required — works with standard OS mechanisms
go.yourcompany.com/product/12345
User taps linkgo.yourcompany.com/product/12345App installed?OS checks AASA / assetlinksYESNOOpen in appproduct/12345deep path preservedOS?UA detectiOSApp Storeapps.apple.comAndroidPlay Storeplay.google.comDesktopMobile webbrowser fallbackUTM passthrough
OS-level interception, no SDKAASA + assetlinks.json
Автоматична видача
AASA + assetlinks.json
0
Встановлень SDK в застосунку
iOS + Android
Покриття платформ
UTM
Передача при переході на резервну адресу

Universal Links & App Links

Manifest files, auto-served from your domain

iOS Universal Links require an apple-app-site-association file. Android App Links require assetlinks.json. Elido generates and serves both from your custom domain automatically — no separate hosting, no manual file management.

  • iOS Universal Links
    Bundle ID + Team ID → AASA served at /.well-known/ automatically
  • Android App Links
    Package name + SHA-256 fingerprint → assetlinks.json, HTTPS enforced
  • Smart-link fallback
    App not installed → App Store / Play Store via rule-based routing
  • UTM passthrough
    UTM parameters preserved to store URL — attribution doesn't break
  • No SDK in your app
    OS-level interception only; intent-filter and continueUserActivity
Apple Universal Links
/.well-known/apple-app-site-association
{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.yours.app",
        "paths": [
          "/product/*",
          "/referral/*",
          "/invite/*"
        ]
      }
    ]
  }
}
Android App Links
/.well-known/assetlinks.json
[{
  "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:..."
    ]
  }
}]

Served from your custom domain automatically. Configure bundle ID + Team ID (iOS) or package name + SHA-256 fingerprint (Android) in domain settings — Elido generates and hosts both files.

xcrun simctl openurl booted '…'
adb shell pm get-app-links

Deferred deep links

Context that survives the install

When the app isn’t installed, the user goes to the store, installs, and opens the app. Deferred deep-linking passes the original deep-link context through that journey so the app can land the user on exactly the right screen after first launch.

  1. 01

    Clicks link

    User taps an Elido short link — from email, social, QR.

    go.yourcompany.com/p/12345
  2. 02

    No app → Store

    App not installed. OS detects from AASA / assetlinks check. Falls back to App Store or Play Store.

    iOS → App Store · Android → Play Store
  3. 03

    Installs app

    User installs from the store. The install referrer carries the click context as a query parameter.

    click_id + UTM preserved in referrer URL
  4. 04

    Opens app

    App opens for the first time. MMP reads install referrer; maps click_id to the install event.

    Appsflyer / Adjust / Branch picks it up
  5. 05

    Lands on exact page

    App routes to the originally linked screen — product/12345 — as if the user had the app already.

    product/12345 — context preserved through install
Context preserved through install

The click_id and UTM parameters from the original short link are passed as query parameters to the store URL. Mobile Measurement Platforms (MMPs) that capture the install referrer — Appsflyer, Adjust, Branch — can match the install to the originating click. Full deferred deep-linking (passing in-app context through install) requires the MMP SDK in your app; Elido covers the link layer.

Platform detection
go.yourcompany.com/p/12345
Live
iPhone 15 Pro
iOS 17.4
iOS Universal Links
Mozilla/5.0 (iPhone; CPU iPhone OS 17_4…)
OS intercepts HTTPS tap → opens app
yourapp://product/12345
Pixel 8 Pro
Android 14
Android App Links
Mozilla/5.0 (Linux; Android 14; Pixel 8…)
Intent matched by assetlinks.json → app opened
yourapp://product/12345
MacBook / Desktop
macOS / Windows / Linux
Web fallback
Mozilla/5.0 (Macintosh; Intel Mac OS X…)
No AASA check → 302 to web URL
yourcompany.com/product/12345
UA parsing runs inside the edge redirect process — p50 under 0.5 ms. In-app browsers (Instagram, TikTok) are detected separately and can be routed to a system-browser redirect prompt.

Smart platform detection

One link. Three redirect paths.

The edge reads User-Agent and platform signals at the redirect layer — before any JS runs. iPhone gets Universal Links, Android gets App Links, desktop gets your web fallback. No JavaScript redirect delay; no client-side platform detection.

  • UA parsing at the edge, sub-millisecond
  • iOS → Universal Link interception by the OS
  • Android → App Link interception via intent-filter
  • Desktop → web URL, no store detour
  • In-app browsers detected and redirected to system browser
  • Composes with smart-link rules — geo + device + deep-link

What you can do

  • Apple App Site Association
  • Android Asset Links
  • Smart-link правила для резервного варіанта магазину
  • Протестовано за допомогою adb та xcrun

Як насправді працюють глибокі посилання — і де вони ламаються

Universal Links та App Links — це механізми на рівні ОС. Налаштування просте; крайові випадки — ні. Це охоплює повну картину.

iOS Universal Links
01

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.

Android App Links
02

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 для кожного релізу.

Fallback chain
03

Застосунок встановлено → глибоке посилання. Застосунок не встановлено → магазин. Десктоп → веб. 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.

Retargeting after install
04

Ретаргетинг після встановлення: 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 migration
05

Міграція з 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, яку ми мали в застосунку для маршрутизації в магазини.

М
Мобільна команда, споживчий застосунок, 200 тис. користувачів, Рига
Мобільний інженер

Аналітика кліків за глибокими посиланнями показала нам, що 35% наших посилань для поширення відкривалися на десктопі — а у нас не було налаштовано резервного переходу на веб. Додавання резервної адреси зайняло 10 хвилин; конверсія посилань зросла, бо користувачі з десктопів тепер могли завершити дію.

К
Команда продукту, B2C маркетплейс, Брюссель
Менеджер продукту

Ми використовуємо короткі посилання Elido з конфігурацією глибоких посилань для реферальних програм. Передача UTM в URL App Store означає, що наша MMP правильно фіксує реферер встановлення — атрибуція працює без розробки власного SDK з нашого боку.

К
Команда зростання, фітнес-застосунок, 80 тис. користувачів, Амстердам
Head of Growth

Глибокі посилання Elido проти Branch.io проти Adjust проти Firebase Dynamic Links (закрито)

Branch та Adjust — це повноцінні платформи мобільної атрибуції, потужніші для відкладених глибоких посилань та MMP-атрибуції. Elido — правильний інструмент, коли глибокі посилання є частиною ширшої системи скорочення посилань, а не основним продуктом.

FeatureElidoBranch.ioAdjust
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Так, з контекстом атрибуціїТак
Аналітика кліків за посиланнямиClickHouse — гео, пристрої, за посиланнямиГлибока аналітика мобільної атрибуціїДані про атрибуцію встановлень та подій
Заміна 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 є ваш пункт призначення, і ви самі контролюєте, що там відбувається.

Готові спробувати?

Почніть з безкоштовного плану, оновіть, коли вам знадобиться власний домен.

Глибокі посилання — Відкрити додаток, у разі невдачі — перейти до магазину. · Elido