Перейти к содержанию

Ссылки для приложений#

Ссылка на приложение — короткий адрес 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, и промежуточная страница не показывается. Если для вашего трафика это проблема, используйте режим шаблона «Промежуточная страница».

Приложение получает 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.