Deferred Deep Link: какво е, как работи и се използва в разработката

Автор: IT Sectr Публикувано: 2026-05-15 Време за четене: 8 мин

Deferred Deep Link е механизъм, който запазва целевия контекст на прехода, дори ако приложението все още не е инсталирано на устройството на потребителя. Според Branch Resources, след инсталиране на приложението системата автоматично обработва запазения контекст и пренасочва потребителя към целевия екран. Отложена дълбока връзка решава основния проблем на обикновения deep link — невъзможността за работа с неинсталирани приложения.

Основни

  • Deferred Deep Link — дълбока връзка, която запазва контекста на прехода и го възстановява след инсталиране на приложението.
  • Принцип — браузърът запазва параметрите на връзката в localStorage или клипборда, а SDK на приложението ги чете при първото стартиране след инсталиране.
  • Firebase Dynamic Links — безплатна услуга за реализиране на deferred deep link с минимална интеграция чрез SDK.
  • Branch.io — търговска платформа с разширена поддръжка на deferred deep link и атрибуция на инсталации.
  • Ограничение — deferred deep link не работи във всички браузъри и изисква актуализация на SDK при промяна на правилата на платформата.

Deferred Deep Link е вид дълбока връзка, която работи на два етапа: първо потребителят кликва върху връзката преди инсталиране на приложението, след което системата възстановява контекста след завършване на инсталацията. Обикновеният deep link отваря приложението само ако то вече е инсталирано, докато deferred запазва всички параметри на прехода и ги предава при първото стартиране.

Технологията стана особено търсена с растежа на мобилния маркетинг, където рекламните кампании често са насочени към потребители, които все още не са инсталирали приложението. Без deferred deep link всеки такъв преход би завършил просто с изтегляне на приложението без никакъв контекст — потребителят би попаднал на главния екран вместо на целевия.

Разлика от обикновения deep link

Обикновеният deep link отваря целевото съдържание във вече инсталирано приложение. Ако приложението не е инсталирано, браузърът показва грешка. Deferred Deep Link работи чрез междинен сървър, който пренасочва потребителя към магазина, а след инсталация информира приложението за запазените параметри. По този начин deferred връзката не изисква предварителна инсталация на приложението и осигурява непрекъснат път на потребителя от реклама до съдържание.

Как работи Deferred Deep Link

Процесът на обработка на deferred deep link се състои от три етапа. На първия етап потребителят кликва върху връзката — сървърът определя дали приложението е инсталирано. Ако не е, той генерира уникален идентификатор на сесия, запазва параметрите на прехода и пренасочва потребителя към App Store или Google Play с този идентификатор.

На втория етап потребителят инсталира приложението от магазина. След инсталация и първо стартиране SDK на платформата се свързва със сървъра, изпраща идентификатора на устройството и получава запазените параметри на прехода. На третия етап приложението обработва получените данни и автоматично пренасочва потребителя към целевия екран.

Жизнен цикъл на deferred връзка

За запазване на параметрите между кликване върху връзката и инсталация се използват различни механизми. В iOS това е ключодържателят (iCloud Keychain) или клипбордът, в Android — Install Referrer API. Firebase Dynamic Links използва комбинация от localStorage на браузъра и рефералната връзка на магазина за предаване на идентификатора на сесия. Branch.io прилага свой собствен протокол с резервиране на данни в няколко хранилища.

Deferred Deep Link в iOS

В iOS deferred deep link се реализира чрез комбинация от Universal Links и Shared Web Credentials. Когато потребителят кликне върху Universal Link на уебсайта на приложението, браузърът Safari запазва параметрите на прехода в iCloud Keychain, свързан с домейна на приложението. След инсталиране на приложението от App Store, iOS проверява наличието на запазени данни и ги предава на приложението при първото стартиране.

Apple не предоставя вграден API за deferred deep link — реализацията пада изцяло върху SDK на трети страни. Firebase Dynamic Links използва механизма passive deferred, при който данните се запазват в cookie на браузъра и се възстановяват чрез пренасочване към специален URL при първото стартиране на приложението.

Ограничения в iOS

От iOS 14 нататък Apple затегна правилата за поверителност, което повлия на механизмите deferred deep link. Клипбордът вече не може да се използва за четене на данни без изрично разрешение на потребителя. iCloud Keychain също има ограничения за обема на данни — не повече от 4 KB на запис. Това прави сървърните решения с уникален идентификатор на сесия предпочитания метод за предаване на контекст.

Deferred Deep Link в Android

Android предоставя по-гъвкави възможности за deferred deep link чрез Install Referrer API. Когато потребителят кликне върху връзка към Google Play, магазинът записва referrer — низ с параметри на прехода. След инсталация приложението получава този низ чрез Install Referrer API и извлича от него целевия контекст. Това е най-надеждният механизъм deferred deep link на Android.

За приложения, които се разпространяват не чрез Google Play, Android поддържа реферален BroadcastReceiver. Разработчикът може да изпрати персонализиран Intent с параметри след инсталация и приложението ще го получи чрез BroadcastReceiver, регистриран в манифеста. Този механизъм обаче е по-малко надежден, тъй като зависи от реализацията на инсталатора.

Install Referrer API

Install Referrer API предоставя информация за източника на инсталация, включително referrer URL, време на преход и време на инсталация. Максималната дължина на referrer низа е 8 KB, достатъчна за предаване на всички необходими параметри на deep link. API е достъпен на устройства с Google Play Store версия 8.3.73 и по-висока и се поддържа на Android 5.0 (API 21).

Реализация чрез Firebase Dynamic Links

Firebase Dynamic Links е най-популярният безплатен инструмент за реализиране на deferred deep link на двете платформи. Firebase автоматично управлява всички етапи на deferred прехода: пренасочване към магазина при липса на приложение, съхраняване на параметрите на Firebase сървъра и предаването им на SDK при първото стартиране на приложението.

За реализация е достатъчно да интегрирате Firebase SDK в проекта, да създадете Dynamic Link чрез Firebase Console с посочване на дълбока връзка и параметри на кампания. Firebase SDK се извиква автоматично при стартиране на приложението и проверява наличието на входящ Dynamic Link чрез метода getDynamicLink().

Пример за настройка на обработка

Пример за обработка на deferred Firebase Dynamic Link в Activity на Kotlin. Кодът работи еднакво за cold start и warm start при стартиране на приложението.

kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        checkDeferredLink()
    }

    private fun checkDeferredLink() {
        FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener link ->
                val deferredLink = link?.link.toString()
                if (deferredLink.isNotEmpty()) {
                    navigateToContent(deferredLink)
                }
            }
    }
}

Методът getDynamicLink() връща PendingTask с обект DynamicLink. Ако приложението е инсталирано след кликване върху връзката, listener ще получи данни с параметри. Ако приложението вече е било инсталирано преди кликването, методът ще върне същите данни като при обикновен deep link. Флагът minimumAppVersion в параметрите на връзката позволява задаване на минимална версия на приложението за обработка.

Предимства и ограничения на Deferred Deep Link

Deferred Deep Link предоставя значителни предимства за маркетингови кампании: потребителят получава целево съдържание след инсталация без допълнителни действия, което повишава конверсията и задържането. За реферални програми deferred връзките позволяват еднозначно свързване на поканата с инсталацията и действията на новия потребител.

Технологията обаче има и ограничения. Deferred deep link не работи в браузъри, блокиращи бисквитки на трети страни, а на iOS от версия 14 изисква допълнителна настройка за работа с iCloud Keychain. Освен това между кликването върху връзката и инсталацията може да минат няколко дни и не всички SDK гарантират запазване на данни за такъв период.

Кога да използвате deferred deep link

Deferred deep link е задължителен за рекламни кампании, насочени към нови потребители, имейл изпращания с покани и реферални програми. За вече инсталирани потребители е достатъчен обикновен deep link. Ако приложението не използва маркетингови кампании и реферални механизми, deferred deep link не е необходим — достатъчни са Universal Links и App Links.

При избора на реализация вземете предвид цената: Firebase Dynamic Links е безплатен, но има ограничена аналитика. Branch.io и AppsFlyer предоставят разширена атрибуция, но изискват абонамент. За малки проекти Firebase е оптималното решение, за enterprise с десетки рекламни канали — търговски MMP.

Често задавани въпроси

С какво deferred deep link се различава от обикновения deep link?

Обикновеният deep link изисква инсталирано приложение и го отваря директно. Deferred Deep Link работи дори ако приложението не е инсталирано — пренасочва към магазина, а след инсталация възстановява контекста на прехода и отваря целевия екран.

Колко дълго се съхраняват параметрите на deferred deep link?

Срокът на съхранение зависи от платформата. Firebase Dynamic Links съхранява параметри до 30 дни. Branch.io запазва данни до 90 дни. На Android Install Referrer API съхранява referrer низа до момента на първото четене от приложението, но не повече от 90 дни.

Работи ли deferred deep link в уеб браузър на десктоп?

На десктоп deferred deep link няма смисъл, тъй като приложението не може да се инсталира чрез магазин на компютър. При кликване върху връзка от десктоп потребителят ще види fallback URL — уеб версия на съдържанието или страница с QR код за инсталиране на мобилно устройство.

Кои браузъри поддържат deferred deep link?

Chrome, Safari и Samsung Internet поддържат deferred deep link чрез механизмите cookie и localStorage. Firefox има ограничена поддръжка поради строгата политика за блокиране на бисквитки на трети страни. За максимално покритие се препоръчва използването на Firebase или Branch.io SDK.

Може ли да се реализира deferred deep link без SDK на трети страни?

Технически може да се реализира самостоятелно решение чрез междинен сървър и реферални механизми. Това обаче изисква разработка и поддръжка на сървърна инфраструктура, управление на cookie, интеграция с всеки магазин и решаване на проблеми на различни платформи. Готовите Firebase и Branch.io SDK ускоряват разработката десетократно.

Обобщение

  • Deferred Deep Link — дълбока връзка с отложено възстановяване на контекста след инсталиране на приложението, решаваща проблема на обикновените deep link.
  • Принцип — кликване върху връзката запазва параметрите на сървъра, след инсталация SDK се свързва със сървъра и възстановява контекста.
  • iOS — реализира се чрез iCloud Keychain и Shared Web Credentials с ограничения от iOS 14.
  • Android — използва Install Referrer API от Google Play, най-надеждният механизъм deferred deep link на мобилни платформи.
  • Firebase Dynamic Links — безплатно решение с минимална интеграция, подходящо за повечето проекти.
  • Branch.io — търговска платформа с разширена атрибуция, deepview и интеграция с рекламни мрежи.
  • Приложение — deferred deep link е необходим за рекламни кампании, реферални програми и имейл маркетинг за нови потребители.

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също