Построитель 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.