Конструктор Deep Link
Створюйте deep link для мобільних додатків з універсальним посиланням та спеціальними формами схеми, плюс веб-fallback для користувачів без додатку.
🔒 Цей інструмент працює повністю у вашому браузері. Ваші файли ніколи не завантажуються на сервер.
Розробникам
Конструктор Deep Link
Використовується для побудови посилання з custom scheme. Починайте з /. Кожен сегмент кодується автоматично (percent-encoding), тож пробіли й юнікод безпечні.
Chrome відкриває intent лише для activity, яка експортована та позначена android.intent.category.BROWSABLE.
Відскануйте телефоном, щоб перевірити обране посилання на реальному пристрої.
Файли асоціації сервера (необов'язково)
Universal Links і App Links працюють лише після того, як один із цих файлів розміщено на вашому домені по HTTPS.
iOS — apple-app-site-association
Android — assetlinks.json
Нічого звідси не надсилається на сервер. Файли формуються у вашому браузері на основі полів вище — вам усе одно потрібно розмістити їх на власному домені, щоб Universal Links або App Links запрацювали.
Як працює Deep Link Builder
- Оберіть тип посилання — universal link, custom scheme, Android intent URL або всі три одразу. Universal link — сучасний варіант за замовчуванням, він коректно деградує за відсутності підтримки.
- Вкажіть шлях усередині застосунку та відповідний веб-URL, який має показувати той самий вміст, потім додайте потрібні параметри запиту.
- Для intent URL вкажіть ім'я пакета Android; веб-URL використовується як резервний варіант у браузері, щоб користувачі без застосунку потрапляли на вашу сторінку, а не на помилку.
- Скопіюйте будь-яке окреме посилання кнопкою поряд з ним або натисніть «Копіювати все», щоб узяти весь набір — кожна кнопка копіює чистий URL, а не підпис.
- Відскануйте QR-код, щоб відкрити згенероване посилання на реальному пристрої — це єдиний надійний спосіб його перевірити. Коли «Усі формати» видає більше одного посилання, скористайтеся випадним списком «Посилання для тесту» над QR-кодом, щоб обрати, яке з них він (і кнопка «Завантажити QR») кодує.
- Якщо ви налаштовуєте Universal Links або App Links, заповніть Team ID/Bundle ID або ім'я пакета та відбиток сертифіката, щоб згенерувати файл асоціації, який має розмістити ваш сервер. Оберіть сучасний або застарілий формат apple-app-site-association залежно від того, наскільки старі версії iOS ви підтримуєте.
- Перевірте на пристрої зі встановленим застосунком і без нього — саме другий випадок зазвичай ламається.
FAQ
Як створити deep link для застосунку?
Оберіть тип посилання, вкажіть шлях усередині застосунку та відповідний веб-URL, додайте потрібні параметри запиту. Інструмент будує universal/App Link, посилання з custom scheme та Android intent:// URL на основі цих полів, а потім генерує apple-app-site-association і assetlinks.json, які має розмістити ваш сервер, перш ніж платформа передасть посилання вашому застосунку.
Universal link чи custom scheme?
За можливості — universal link. Custom scheme на кшталт myapp:// мовчки завершується сторінкою помилки, якщо застосунок не встановлено, тоді як universal link у цьому разі просто відкриває сайт.
Чи генерує інструмент Android intent:// URL?
Так. Оберіть «Android intent:// URL» (або «Усі формати з резервним варіантом») і вкажіть scheme та ім'я пакета. Результат відповідає задокументованому синтаксису Chrome — intent://host/path#Intent;scheme=...;package=...;end — і додає S.browser_fallback_url у percent-encoded вигляді, якщо ви вказали веб-адресу резервного варіанту, щоб користувачі без застосунку потрапляли на вашу сторінку, а не на помилку.
Чому мій deep link не відкриває застосунок?
Зазвичай причина у файлі асоціації — apple-app-site-association або assetlinks.json — він відсутній, недоступний або віддається з неправильним типом вмісту. Обидві платформи запитують його через HTTPS і кешують результат. Для intent:// URL зокрема Chrome запускає лише activity, яка експортована та позначена фільтром android.intent.category.BROWSABLE.
Що таке відкладений deep linking (deferred deep linking)?
Надсилання користувача без застосунку до магазину з подальшим переходом на потрібний екран після встановлення. Для цього потрібен сервіс, який перенесе цей стан через встановлення, а звичайне посилання так не вміє — тому цей інструмент цього не заявляє, як і будь-який суто клієнтський конструктор.
Де саме розміщувати згенерований файл асоціації?
Apple документує /.well-known/apple-app-site-association без розширення файлу; assetlinks.json розміщується за адресою /.well-known/assetlinks.json — Android не перевіряє корінь сайту. Обидва файли мають віддаватися через HTTPS із дійсним сертифікатом, як application/json, без редиректів, інакше платформа їм не довірятиме.
Який формат apple-app-site-association використовувати?
Сучасний, він застосовується тут за замовчуванням: запис details із масивом appIDs і масивом components, ключ "/" якого відповідає шляху. Саме такий формат описано в актуальній документації Apple, і він працює починаючи з iOS 13. Переходьте на застарілий формат appID + paths лише якщо ви й досі підтримуєте iOS 12 та більш ранні версії.
Як перевірити deep link і на Android, і на iOS?
Відскануйте згенерований QR-код камерою кожного пристрою — так відкривається справжнє посилання так само, як якщо б користувач натиснув на нього. Завжди перевіряйте двічі: один раз із встановленим застосунком (має відкритися застосунок) і один раз без нього (має спрацювати резервний веб-URL). Врахуйте, що камери телефонів зазвичай розпізнають лише посилання https://, тому QR найкорисніший для universal link, а не для custom scheme чи intent:// URL.
Як перевірити Android intent-посилання окремо від Universal Link?
Встановіть Link type у значення «Усі формати з резервним варіантом», щоб відрендерилися одразу всі формати, потім скористайтеся випадним списком «Посилання для тесту» над QR-кодом, щоб обрати, яке з них він — і кнопка «Завантажити QR» — кодує: Universal/App Link, custom scheme або Android intent:// URL. Відскануйте або завантажте цей QR для конкретного формату, який хочете перевірити на пристрої.
Порівняння
| Функція | Online Tool Store | Digia Deep Link Generator | URLgenius | LinkTwin |
|---|---|---|---|---|
| Усі формати посилань одразу, а не по одній платформі за раз | ✓ | По одній платформі на вкладку | Вставити URL | Вставити URL |
| Будує Android intent:// URL із резервним варіантом у браузері | ✓ | ✓ | Хмарний сервіс | Хмарний сервіс |
| Генерує apple-app-site-association і assetlinks.json | ✓ | ✗ | Хмарний сервіс | Хмарний сервіс |
| apple-app-site-association в актуальному форматі Apple з appIDs + components | ✓ | ✗ | Хмарний сервіс | Хмарний сервіс |
| QR-код для перевірки посилання на реальному пристрої | ✓ | ✗ | ✓ | Не показується |
| Працює без облікового запису | ✓ | ✓ | ✗ | ✗ |
| Повністю працює у вашому браузері, без хмарного редиректу в посиланні | ✓ | ✓ | ✗ | ✗ |
URLgenius і LinkTwin — це хмарні сервіси: ви вставляєте URL, вони створюють посилання на своєму домені та маршрутизують перехід. Це інший підхід — обліковий запис і їхній редирект посередині вашого трафіку. Digia — найближчий безкоштовний клієнтський конструктор, і тепер, коли цей інструмент теж генерує intent:// URL, єдина відмінність, що залишилася, — він також створює файли асоціації, які реально перевіряють обидві платформи, у форматі appIDs + components, актуально задокументованому Apple.