Диплинки, Universal Links и App Links: как настроить
Что такое диплинки, Universal Links и App Links, зачем они рассылкам, рекламе и QR-кодам, как настроить apple-app-site-association и assetlinks.json.
Диплинк это ссылка, которая открывает не главный экран приложения, а нужное место: карточку товара, заказ, акцию. Надёжнее всего делать их через Universal Links в iOS и App Links в Android: это обычные https-ссылки вашего сайта, которые открывают приложение, если оно установлено, и сайт, если нет. Для настройки нужны два файла на домене (apple-app-site-association и assetlinks.json) и правки в самом приложении.
Зачем диплинки бизнесу
Представьте магазин одежды в Алматы. Он отправляет в WhatsApp-рассылке «Скидка 30% на куртки» со ссылкой. Без диплинка клиент попадает на главный экран приложения и сам ищет куртки. Часть людей на этом шаге уходит. С диплинком он сразу видит подборку со скидкой и кнопку «В корзину».
Где диплинки дают прямую выгоду:
- Рассылки: e-mail, SMS, WhatsApp, Telegram. Ссылка ведёт на конкретный товар или статус заказа.
- Push-уведомления: нажатие открывает нужный экран, а не главную. Подробнее в статье про push-уведомления.
- Реклама: объявления в соцсетях и поиске ведут сразу в приложение тем, у кого оно стоит. Это заметно поднимает конверсию повторных покупок.
- QR-коды на кассе, упаковке, столике в ресторане: один код открывает меню в приложении или сайт, если приложения нет.
- Реферальные программы: «Приведи друга» с персональной ссылкой.
- Сброс пароля и подтверждение почты: ссылка из письма открывает приложение, а не браузер.
Виды ссылок: что есть что
| Тип | Как выглядит | Если приложение не установлено | Для чего подходит |
|---|---|---|---|
| Схема приложения | myshop://product/123 | Ошибка или ничего не происходит | Переходы между своими приложениями, тесты |
| Universal Link (iOS) | https://myshop.kz/product/123 | Открывается сайт | Рассылки, реклама, QR, письма |
| App Link (Android) | https://myshop.kz/product/123 | Открывается сайт | То же, что Universal Link |
| Отложенный диплинк | Ссылка платформы атрибуции | Ведёт в стор, после установки открывает нужный экран | Реклама на установку, рефералы |
Важный момент: Firebase Dynamic Links, которыми многие пользовались для отложенных диплинков, Google отключил 25 августа 2025 года. Если в вашем приложении они остались, ссылки в старых рассылках и QR-кодах уже не работают, их надо заменить.
С чего начать: карта ссылок
Прежде чем трогать сервер и код, составьте список экранов, на которые нужно вести людей по ссылке. Это решение бизнеса, а не разработчика: маркетолог знает, куда он будет вести трафик в ближайшие полгода.
Типичный набор для интернет-магазина или сервиса доставки:
- карточка товара и категория каталога;
- подборка или акция, которую можно менять из админки без выпуска новой версии;
- статус конкретного заказа;
- бонусная карта и история начислений;
- корзина с уже добавленным товаром (удобно для напоминаний о брошенной корзине);
- экран отзыва о заказе.
Лучше всего, когда адреса в приложении совпадают с адресами на сайте. Тогда одна и та же ссылка myshop.kz/catalog/kurtki работает везде: в приложении открывает раздел, в браузере страницу сайта, а поисковики продолжают индексировать сайт как обычно. Если на сайте адреса старые и неудобные, можно завести отдельный путь, например myshop.kz/app/..., и указать в настройках только его.
Продумайте и поведение для гостя. Если ссылка ведёт на заказ, а человек не вошёл в аккаунт, приложение должно сначала попросить вход, а затем вернуть его на тот же заказ, а не на главную.
Как настроить Universal Links в iOS
- Включить Associated Domains для идентификатора приложения в аккаунте Apple Developer и в проекте Xcode.
- Прописать домены в entitlements в формате
applinks:myshop.kz. Для поддомена www нужна отдельная строка. - Разместить файл apple-app-site-association (без расширения) по адресу
https://myshop.kz/.well-known/apple-app-site-association. В нём указывается Team ID и Bundle ID приложения и пути, которые должно открывать приложение, например/product/*и/order/*. - Проверить требования сервера: только HTTPS с действующим сертификатом, без редиректов, заголовок
Content-Type: application/json, размер файла до 128 КБ, доступ без авторизации и блокировок по IP. - Обработать ссылку в коде: приложение получает адрес и само решает, какой экран открыть.
Учтите кэш. Устройства iPhone забирают файл не с вашего сервера напрямую, а через CDN Apple, который обновляет копию с задержкой. Для разработки есть режим ?mode=developer в entitlements и настройка Associated Domains Development на тестовом телефоне, тогда файл читается напрямую.
Как настроить App Links в Android
- Добавить intent-filter в AndroidManifest.xml с атрибутом
android:autoVerify="true", действием VIEW, категориями DEFAULT и BROWSABLE, схемой https и вашим доменом. - Разместить файл assetlinks.json по адресу
https://myshop.kz/.well-known/assetlinks.json. В нём имя пакета и SHA-256 отпечаток сертификата подписи. - Взять правильный отпечаток. Если приложение подписывает Google Play (Play App Signing, это стандарт для новых приложений), нужен отпечаток ключа из Play Console, а не вашего ключа загрузки. Удобно положить в файл оба.
- Проверить на устройстве командами
adb shell pm verify-app-links --re-verify имя.пакетаиadb shell pm get-app-links имя.пакета. Статус домена должен быть verified.
По документации Android, начиная с Android 12 проверка стала строже: если домен не подтверждён, ссылка откроется в браузере без диалога выбора. На Android 15 и выше система периодически перепроверяет файл, и изменения могут доходить до нескольких дней.
Частые ошибки
- Редирект с myshop.kz на www.myshop.kz или с http на https прямо на адресе файла. Apple такой файл не примет.
- Файл отдаёт HTML. Защита от ботов, заглушка хостинга или CMS подменяют ответ страницей, и CDN Apple кэширует ошибку.
- Отпечаток ключа загрузки вместо ключа Google Play в assetlinks.json. В debug-сборке всё работает, в версии из стора нет.
- Нет обработки неизвестных путей. Ссылка на удалённый товар открывает пустой экран вместо понятного сообщения и каталога.
- Проверяют ссылку, вставляя её в адресную строку Safari. Так iOS её не перехватывает. Проверять нужно нажатием из Заметок, почты или мессенджера.
- Короткие ссылки сокращателей ведут через чужой домен с редиректом, и приложение не открывается. Для рассылок используйте свой домен.
- Сайт и приложение живут отдельно: у товара в приложении один адрес, на сайте другой. Структуру ссылок лучше согласовать сразу, это описано в статье про API для мобильного приложения.
Как измерять эффект
Диплинк без аналитики теряет половину пользы. Добавляйте в ссылки UTM-метки и передавайте их в аналитику приложения при открытии экрана. Тогда видно, какая рассылка или QR-код принесли заказы, а не просто открытия. Настройку событий и воронок мы разбирали в статье про аналитику мобильного приложения.
Для рекламных кампаний на установку нужен отложенный диплинк и платформа атрибуции: она запоминает, по какой ссылке пришёл человек, и после установки открывает нужный экран. Это отдельная интеграция, которую имеет смысл делать, когда реклама в приложение уже идёт регулярно. Как её выстроить, рассказываем на странице продвижения приложений.
Ещё одна деталь для Казахстана: многие клиенты открывают ссылки внутри встроенных браузеров Instagram и TikTok. Там переход в приложение иногда блокируется самой соцсетью. Поэтому на странице сайта, куда ведёт такая ссылка, стоит держать заметную кнопку «Открыть в приложении» и ссылки на App Store и Google Play для тех, у кого приложения ещё нет.
Чек-лист перед запуском рассылки
- Файлы открываются в браузере по адресам /.well-known/ без редиректа и отдают JSON.
- Ссылка из WhatsApp и Telegram на iPhone открывает приложение на нужном экране.
- То же самое на Android, включая телефоны Samsung и Xiaomi.
- Без установленного приложения ссылка открывает соответствующую страницу сайта, а не главную.
- Метки кампании доходят до аналитики.
Частые вопросы
Чем диплинк отличается от Universal Link?
Диплинк это общее название ссылки, которая ведёт на конкретный экран приложения. Universal Link в iOS и App Link в Android это его надёжная разновидность: обычная https-ссылка вашего сайта, которая открывает приложение, а без приложения открывает сайт.
Можно ли обойтись схемой вида myapp://?
Для внутренних переходов можно, но для рассылок и рекламы нет. Если приложение не установлено, такая ссылка просто не сработает, а мессенджеры и почтовые сервисы часто вообще не делают её кликабельной.
Что теперь вместо Firebase Dynamic Links?
Сервис отключён 25 августа 2025 года, старые ссылки перестали работать. Замена: собственные Universal Links и App Links на домене компании плюс, при необходимости, платформа атрибуции для отложенных диплинков.
Почему ссылка открывает сайт, а не приложение?
Чаще всего файл на сервере отдаётся с редиректом или не той подписью, в Android указан отпечаток ключа загрузки вместо ключа из Google Play, или ссылку вставили в место, где iOS не перехватывает переходы, например набрали вручную в адресной строке Safari.
Сколько стоит настроить диплинки?
Если приложение делаем мы, базовые Universal Links и App Links входят в разработку. Для готового приложения это доработка: смету пришлём бесплатно за 24 часа, стоимость зависит от числа экранов и сценариев.
Настроим диплинки под ключ
Подключим Universal Links и App Links к вашему приложению и сайту, проверим на реальных телефонах, заменим отключённые Firebase Dynamic Links и свяжем ссылки с аналитикой. Оставьте заявку на странице контактов или напишите в WhatsApp +7 707 928 13 15, смету пришлём бесплатно за 24 часа.