Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →

Deep links

Deep link виконує дві дії одночасно: відкриває ціль безпосередньо в нативному додатку, якщо він встановлений, або перенаправляє до App Store чи Play Store в іншому випадку. Elido реалізує це на основі двох існуючих функцій:

  1. Smart links для маршрутизації на основі ОС.
  2. Файли Universal Links / App Links, що обслуговуються з вашого власного домену, щоб iOS та Android довіряли редиректу для обходу браузера.

Вам не потрібен спеціальний об’єкт «deep link» - будь-яке коротке посилання з правильними правилами та відповідними файлами у директорії .well-known є таким.

Крок 1 - Правила з таргетингом на ОС

Додайте targeting_rules, які вибирають URL магазину за ОС, залишаючи destination_url як запасний варіант для десктопів:

curl -X PATCH \ https://api.elido.app/v1/workspaces/1/links/42 \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "destination_url": "https://example.com/get-the-app", "targeting_rules": [ { "label": "iOS", "match": { "os": ["ios"] }, "destination_url": "https://apps.apple.com/app/id1234567890" }, { "label": "Android", "match": { "os": ["android"] }, "destination_url": "https://play.google.com/store/apps/details?id=com.example.app" } ] }'

Це саме по собі забезпечує перенаправлення до магазину. Щоб відкривати встановлений додаток безпосередньо без переходу в браузер, налаштуйте файли асоціації з ОС.

Розмістіть JSON-документ apple-app-site-association у корені вашого власного домену. Elido обслуговує його за вас, коли ви завантажуєте його через domains API:

curl -X PATCH \ https://api.elido.app/v1/workspaces/1/domains/42/app-links \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "apple_app_site_association": { "applinks": { "apps": [], "details": [ { "appID": "TEAMID.com.example.app", "paths": ["/*"] } ] } } }'

Після цього файл буде доступний за адресою:

https://go.example.com/.well-known/apple-app-site-association

iOS завантажує його під час першого встановлення (і періодично перевіряє повторно) - після підтвердження натискання на https://go.example.com/... відкриватимуть ваш додаток замість Safari.

Та сама ідея з форматом assetlinks для Android:

curl -X PATCH \ https://api.elido.app/v1/workspaces/1/domains/42/app-links \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "android_assetlinks": [ { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.app", "sha256_cert_fingerprints": ["AB:CD:EF:..."] } } ] }'

Доступний за адресою:

https://go.example.com/.well-known/assetlinks.json

Android підхоплює це під час встановлення додатка. Перевірте за допомогою adb shell pm get-app-links com.example.app.

Крок 4 - Власні URL-схеми (опціонально)

Якщо ваш додаток також реєструє схему myapp://, ви можете направляти до неї безпосередньо через ціль Universal Link / App Link - більшість нативних SDK (Branch, Adjust, AppsFlyer) приймають обидва варіанти.

Типова структура

{ "destination_url": "https://example.com/web-fallback", "targeting_rules": [ { "match": { "os": ["ios"] }, "destination_url": "https://apps.apple.com/app/id123" }, { "match": { "os": ["android"] }, "destination_url": "https://play.google.com/store/apps/details?id=com.example.app" } ] }
  • Додаток встановлено → ОС відкриває додаток через Universal/App Links.
  • Додаток не встановлено → URL магазину через правило smart-link.
  • Десктоп / інше → веб-версія через destination_url.

Тестування

  • iOS: xcrun simctl openurl booted https://go.example.com/Ab3xQ у симуляторі зі встановленим додатком.
  • Android: adb shell am start -a android.intent.action.VIEW -d "https://go.example.com/Ab3xQ".
  • Десктоп: відкрийте посилання в Chrome - ви повинні потрапити на веб-версію.