Ссылки для приложений#
Ссылка на приложение — короткий адрес https://c.diply.uz/{код} (код — 7 символов, или свой код из 3–40 символов). Поля ссылки: шаблон, источник (обязательно), кампания, группа, объявление, sub1–sub5, deep_link_value, параметры для приложения, другой веб-фолбэк, метка. Код и свой код после создания не меняются.
Как работает переход#
Тап по https://c.diply.uz/{код} ← клик-хост, его НЕТ в настройках приложения
│ записываем клик (click_id), 302
▼
https://{slug}.diply.uz/{код}?cid=… ← домен deep links (Associated Domains / App Links)
│
├─ приложение установлено → система открывает приложение,
│ запрос до diply не доходит
│
└─ не установлено → запрос приходит в diply:
iOS → ссылка MMP (iOS) или App Store
Android → ссылка MMP (Android) или Google Play
десктоп → веб-фолбэк или страница с QR-кодом
Почему два хоста. Universal Links и App Links открывают приложение только при переходе на домен приложения с другого хоста; если бы ссылка сразу вела на {slug}.diply.uz, установленное приложение открывалось бы без запроса к diply, и клик бы потерялся. Поэтому клик пишется на c.diply.uz, а приложение открывается на {slug}.diply.uz. Ссылку MMP мы открываем только когда приложение не установлено: MMP прямо предупреждают, что редирект через их ссылку мешает открыть установленное приложение.
Если на телефоне без приложения ни ссылки MMP, ни ID стора нет, пользователь попадает на веб-фолбэк.
Исход клика#
Когда приложение установлено и открылось, второй запрос к diply не приходит. Поэтому исход «Открыто приложение (оценка)» — приближение: клик, после которого за 60 секунд не пришёл запрос на {slug}.diply.uz. Подробнее — Аналитика кликов.
Промежуточная страница#
Встроенные браузеры мессенджеров и соцсетей часто не открывают приложения по Universal Links / App Links. Поэтому для Telegram, Instagram, Facebook, TikTok и VK (определяются по User-Agent) diply показывает промежуточную страницу:
- «Открыть в приложении» — ссылка на
{slug}.diply.uz(на iOS) илиintent://…с переходом в стор, если приложения нет (на Android); - «Скачать» — ссылка MMP или стор;
- «Перейти на сайт» — веб-фолбэк.
Всё срабатывает только по тапу пользователя. Страница без внешних скриптов и cookie. Чтобы показывать её всем телефонам, выберите в шаблоне режим «Промежуточная страница» (на десктопе режим не действует).
Telegram на iOS
Telegram на iOS часто открывает ссылки во встроенном Safari (SFSafariViewController) с User-Agent обычного Safari — такой переход неотличим от Safari, и промежуточная страница не показывается. Если для вашего трафика это проблема, используйте режим шаблона «Промежуточная страница».
deep_link_value и параметры#
Приложение получает URL вида:
https://{slug}.diply.uz/{код}?cid={click_id}&dlv={deep_link_value}&{ваши параметры}
dlv— значение поляdeep_link_valueссылки (напримерpromo/42): по нему приложение решает, какой экран открыть;cid— идентификатор клика diply;- параметры для приложения (
ключ=значение) из ссылки.
iOS отдаёт URL в NSUserActivity.webpageURL, Android — в Intent.getData().
Endpoint resolve#
Приложение может запросить данные ссылки по коду:
GET https://{slug}.diply.uz/_diply/resolve/{код}?cid={click_id}
Ответ JSON: code, alias, click_id, source, поля campaign, adset, ad, sub1–sub5 (с учётом значений макросов из клика), deep_link_value, params, archived. Неизвестный код или ссылка на сайт — 404.
Deferred deep link
Открыть нужный экран после установки из стора (deferred deep link) без SDK нельзя — diply его не поддерживает. Если это умеет ваш MMP (например, OneLink AppsFlyer), настраивайте его в MMP.
Особые случаи#
- Архивная ссылка ведёт на веб-фолбэк; клики по ней пишутся с пометкой «архивная» и в отчётах видны только с фильтром «включая архивные».
- Боты и превью ссылок (TelegramBot, WhatsApp, facebookexternalhit, Slackbot, краулеры, запросы
HEAD, пустой User-Agent) получают страницу с названием и иконкой приложения (og:*), а не редирект в стор. Клик записывается как бот и не входит в отчёты. - Значения макросов из адреса клика (
?campaign=…&adset=…&ad=…&sub1=…) заменяют поля ссылки для этого клика, уходят в MMP и сохраняются в клике. Нераскрытый макрос ({{…}},{…},${…},%%…%%) игнорируется. См. Источники и макросы. - Прямой заход на
{slug}.diply.uz/{код}безcidтоже записывается как клик. - Ссылки заблокированной или удалённой организации и неизвестные коды — страница «Ссылка не найдена» (404).
Предпросмотр в форме ссылки показывает, что увидят iPhone (Safari), Android (Chrome), десктоп и Telegram, и какие параметры уйдут в MMP.