Приложения и домен deep links#
Карточка приложения#
| Поле | Обязательно | Примечание |
|---|---|---|
| Название, иконка | Название — да | Иконку можно подтянуть из App Store по App Store ID или загрузить (PNG / JPEG / WebP до 1 МБ). Она показывается на промежуточной странице и в превью ссылок |
| Веб-фолбэк | Да | https://… — куда вести с десктопа и когда платформа не поддержана |
| MMP | Да | AppsFlyer, Adjust, AppMetrica, Firebase или «без MMP» — см. Шаблоны и MMP |
| iOS: bundle id, Team ID | Если есть iOS | Team ID — 10 символов A–Z, 0–9 |
| iOS: App Store ID, URI-схема | Нет | App Store ID нужен для перехода в стор без MMP |
| Android: package name | Если есть Android | Например uz.brand.app |
| Android: SHA-256 отпечатки | Нет | Без отпечатка приложение не открывается по ссылке напрямую — см. ниже |
| Целевое событие, валюта выручки | Нет | Для CPA и пересчёта выручки в сводном отчёте |
Нужна хотя бы одна платформа. Bundle id и package name уникальны в организации. Создавать и менять приложения могут владелец и администраторы.
Домен deep links#
У организации свой хост {slug}.diply.uz. diply сам отдаёт на нём файлы:
https://{slug}.diply.uz/.well-known/apple-app-site-association— для iOS, со всеми iOS-приложениями организации (TEAMID.bundleId);https://{slug}.diply.uz/.well-known/assetlinks.json— для Android, со всеми Android-приложениями, у которых указан SHA-256 отпечаток.
Файлы открывают для приложения все пути хоста, кроме служебных /.well-known/* и /_diply/*, поэтому новые ссылки не требуют обновления файлов и сборки приложения.
Сертификат хоста
HTTPS-сертификат для {slug}.diply.uz выпускается автоматически в течение ~2 минут после активации организации. До этого браузер покажет ошибку сертификата на этом хосте.
Каждое приложение прописывает конкретный хост {slug}.diply.uz — не *.diply.uz (wildcard-домены Apple и Google читают файл с корневого домена, он не ваш).
iOS: Universal Links#
-
В Xcode: Signing & Capabilities → + Capability → Associated Domains, добавьте
applinks:{slug}.diply.uz. В entitlements это выглядит так:<key>com.apple.developer.associated-domains</key> <array> <string>applinks:{slug}.diply.uz</string> </array> -
Team ID — в Apple Developer: Account → Membership details → Team ID (10 символов). Он же — префикс App ID.
- Приложение получает URL ссылки в
NSUserActivity.webpageURL(см. Ссылки для приложений).
Задержка CDN Apple
С iOS 14 устройства берут файл не с нашего сервера, а через CDN Apple. Новые данные доходят до 24 часов, устройства перепроверяют файл примерно раз в неделю; ускорить нельзя. Для отладки на своём устройстве можно включить режим разработчика Associated Domains (applinks:{slug}.diply.uz?mode=developer).
Android: App Links#
-
В
AndroidManifest.xmlвнутри нужной<activity>:<intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="{slug}.diply.uz" /> </intent-filter> -
Укажите в карточке приложения SHA-256 отпечаток сертификата подписи (см. ниже).
- Android 12+ проверяет каждый хост отдельно. Изменения файла подхватываются на Android 15+ за срок до 7 дней, на Android 14 и ниже — только при установке или обновлении приложения.
Android: где взять SHA-256#
Google Play Console → ваше приложение → Настройка → Целостность приложения → вкладка «Подпись приложений» → «Сертификат ключа подписи приложения» → SHA-256.
- Если включена подпись приложений Google Play (Play App Signing) — а для новых приложений она обязательна, — нужен отпечаток ключа подписи Google («сертификат ключа подписи приложения»), а не ключа загрузки (upload key): приложение у пользователей подписано ключом Google.
- Можно добавить несколько отпечатков (до 10): например, ещё ключ загрузки и debug-ключ для тестовых сборок. Двоеточия необязательны, регистр не важен.
Без SHA-256
Android-приложение можно сохранить без отпечатка. Тогда оно не попадает в assetlinks.json, и в кабинете (на странице «Домен» и в карточке приложения) видно предупреждение «Прямое открытие Android-приложения выключено — добавьте SHA-256 отпечаток». Ссылки при этом работают: пользователь Android попадает в Google Play или через ссылку MMP, клики считаются. Не работает только открытие уже установленного приложения по ссылке.
Проверка и статусы#
| Статус | Значит |
|---|---|
| Не настроен | Нет iOS-приложений и нет Android-приложений с отпечатком SHA-256 |
| Файлы опубликованы | Наши файлы доступны |
| Видит CDN Apple / подтверждён Google | Проверка нашла файл в CDN Apple (или Google подтвердил связь) |
| Работает | Вы проверили на устройстве и нажали «Проверил на устройстве» |
Кнопка «Проверить» (и автоматически раз в сутки) проверяет:
- наши файлы доступны по HTTPS без редиректа, в них нужные приложения;
- копию файла в CDN Apple — если CDN ещё не получил файл или недоступен, результат «Неизвестно», а не ошибка; расхождение — «Ошибка» с пояснением про задержку до 24 часов;
- Google Digital Asset Links — проверка выключена по умолчанию.
Что сборка приложения действительно содержит домен, снаружи проверить нельзя. Проверьте на устройстве: iOS — откройте https://{slug}.diply.uz/test из Заметок, должно открыться приложение; Android — adb shell pm get-app-links <package> показывает verified.
Изменение приложений, которое меняет файлы (bundle id, Team ID, package, отпечатки, удаление), сбрасывает результат проверки и подтверждение. Удаление приложения убирает его из файлов — ссылки в установленных сборках перестанут открывать приложение.