Deferred Deep Link: co to je, jak funguje a používá se ve vývoji

Autor: IT Sectr Publikováno: 2026-05-15 Doba čtení: 8 min

Deferred Deep Link je mechanismus, který zachovává cílový kontext přechodu, i když aplikace ještě není nainstalována na zařízení uživatele. Podle Branch Resources, po instalaci aplikace systém automaticky zpracuje uložený kontext a přesměruje uživatele na cílovou obrazovku. Odložený hluboký odkaz řeší hlavní problém běžného deep link — nemožnost práce s nenainstalovanými aplikacemi.

Hlavní

  • Deferred Deep Link — hluboký odkaz, který zachovává kontext přechodu a obnovuje jej po instalaci aplikace.
  • Princip — prohlížeč ukládá parametry odkazu do localStorage nebo schránky a SDK aplikace je čte při prvním spuštění po instalaci.
  • Firebase Dynamic Links — bezplatná služba pro implementaci deferred deep link s minimální integrací přes SDK.
  • Branch.io — komerční platforma s pokročilou podporou deferred deep link a atribucí instalací.
  • Omezení — deferred deep link nefunguje ve všech prohlížečích a vyžaduje aktualizaci SDK při změně pravidel platformy.

Deferred Deep Link je typ hlubokého odkazu, který funguje ve dvou fázích: nejprve uživatel klikne na odkaz před instalací aplikace, poté systém obnoví kontext po dokončení instalace. Běžný deep link otevře aplikaci pouze pokud je již nainstalována, zatímco deferred zachovává všechny parametry přechodu a předává je při prvním spuštění.

Tato technologie se stala obzvláště žádanou s růstem mobilního marketingu, kde reklamní kampaně často cílí na uživatele, kteří si ještě nenainstalovali aplikaci. Bez deferred deep link by každý takový přechod jednoduše skončil stažením aplikace bez jakéhokoli kontextu — uživatel by se dostal na hlavní obrazovku místo cílové.

Rozdíl od běžného deep link

Běžný deep link otevírá cílový obsah v již nainstalované aplikaci. Pokud aplikace není nainstalována, prohlížeč zobrazí chybu. Deferred Deep Link funguje přes zprostředkující server, který přesměruje uživatele do obchodu a po instalaci informuje aplikaci o uložených parametrech. Tím pádem deferred odkaz nevyžaduje předchozí instalaci aplikace a zajišťuje nepřerušenou cestu uživatele od reklamy k obsahu.

Jak funguje Deferred Deep Link

Proces zpracování deferred deep link se skládá ze tří fází. V první fázi uživatel klikne na odkaz — server určí, zda je aplikace nainstalována. Pokud ne, vygeneruje jedinečný identifikátor relace, uloží parametry přechodu a přesměruje uživatele do App Store nebo Google Play s tímto identifikátorem.

Ve druhé fázi uživatel nainstaluje aplikaci z obchodu. Po instalaci a prvním spuštění se SDK platformy připojí k serveru, odešle identifikátor zařízení a obdrží uložené parametry přechodu. Ve třetí fázi aplikace zpracuje přijatá data a automaticky přesměruje uživatele na cílovou obrazovku.

Životní cyklus deferred odkazu

Pro ukládání parametrů mezi kliknutím na odkaz a instalací se používají různé mechanismy. V iOS je to klíčenka (iCloud Keychain) nebo schránka, v Android — Install Referrer API. Firebase Dynamic Links používá kombinaci localStorage prohlížeče a referenčního odkazu obchodu pro předání identifikátoru relace. Branch.io aplikuje vlastní protokol s rezervou dat ve více úložištích.

Deferred Deep Link v iOS

V iOS je deferred deep link implementován kombinací Universal Links a Shared Web Credentials. Když uživatel klikne na Universal Link na webu aplikace, prohlížeč Safari uloží parametry přechodu do iCloud Keychain spojeného s doménou aplikace. Po instalaci aplikace z App Store iOS zkontroluje přítomnost uložených dat a předá je aplikaci při prvním spuštění.

Apple neposkytuje vestavěné API pro deferred deep link — implementace zcela padá na SDK třetích stran. Firebase Dynamic Links používá mechanismus passive deferred, kde jsou data uložena v cookie prohlížeče a obnovena přes přesměrování na speciální URL při prvním spuštění aplikace.

Omezení na iOS

Od iOS 14 Apple zpřísnil pravidla ochrany soukromí, což ovlivnilo mechanismy deferred deep link. Schránka již nemůže být použita pro čtení dat bez výslovného souhlasu uživatele. iCloud Keychain má také omezení na objem dat — ne více než 4 KB na zápis. To činí serverová řešení s jedinečným identifikátorem relace preferovanou metodou pro předávání kontextu.

Deferred Deep Link v Android

Android poskytuje flexibilnější možnosti pro deferred deep link přes Install Referrer API. Když uživatel klikne na odkaz do Google Play, obchod zaznamená referrer — řetězec s parametry přechodu. Po instalaci aplikace obdrží tento řetězec přes Install Referrer API a extrahuje z něj cílový kontext. Toto je nejspolehlivější mechanismus deferred deep link na Androidu.

Pro aplikace distribuované mimo Google Play Android podporuje referenční BroadcastReceiver. Vývojář může po instalaci odeslat vlastní Intent s parametry a aplikace jej obdrží přes BroadcastReceiver zaregistrovaný v manifestu. Tento mechanismus je však méně spolehlivý, protože závisí na implementaci instalátoru.

Install Referrer API

Install Referrer API poskytuje informace o zdroji instalace, včetně referrer URL, času přechodu a času instalace. Maximální délka referrer řetězce je 8 KB, což je dostatečné pro předání všech potřebných parametrů deep link. API je dostupné na zařízeních s Google Play Store verzí 8.3.73 a vyšší a je podporováno na Android 5.0 (API 21).

Implementace přes Firebase Dynamic Links

Firebase Dynamic Links je nejpopulárnější bezplatný nástroj pro implementaci deferred deep link na obou platformách. Firebase automaticky spravuje všechny fáze deferred přechodu: přesměrování do obchodu při absenci aplikace, ukládání parametrů na serveru Firebase a jejich předání SDK při prvním spuštění aplikace.

Pro implementaci stačí integrovat Firebase SDK do projektu, vytvořit Dynamic Link přes Firebase Console s uvedením hlubokého odkazu a parametrů kampaně. Firebase SDK je automaticky volán při spuštění aplikace a kontroluje přítomnost příchozího Dynamic Link přes metodu getDynamicLink().

Příklad nastavení zpracování

Příklad zpracování deferred Firebase Dynamic Link v Activity v Kotlin. Kód funguje stejně pro cold start a warm start při spuštění aplikace.

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)
                }
            }
    }
}

Metoda getDynamicLink() vrací PendingTask s objektem DynamicLink. Pokud byla aplikace nainstalována po kliknutí na odkaz, listener obdrží data s parametry. Pokud byla aplikace již nainstalována před kliknutím, metoda vrátí stejná data jako při běžném deep link. Příznak minimumAppVersion v parametrech odkazu umožňuje nastavit minimální verzi aplikace pro zpracování.

Výhody a omezení Deferred Deep Link

Deferred Deep Link poskytuje významné výhody pro marketingové kampaně: uživatel obdrží cílový obsah po instalaci bez dalších akcí, což zvyšuje konverzi a retenci. Pro referenční programy deferred odkazy umožňují jednoznačně propojit pozvánku s instalací a akcemi nového uživatele.

Technologie má však i omezení. Deferred deep link nefunguje v prohlížečích blokujících cookie třetích stran a na iOS od verze 14 vyžaduje dodatečnou konfiguraci pro práci s iCloud Keychain. Navíc mezi kliknutím na odkaz a instalací může uplynout několik dní a ne všechna SDK zaručují uchování dat po takovou dobu.

Kdy použít deferred deep link

Deferred deep link je povinný pro reklamní kampaně zaměřené na nové uživatele, e-mailové rozesílky s pozvánkami a referenční programy. Pro již nainstalované uživatele stačí běžný deep link. Pokud aplikace nepoužívá marketingové kampaně a referenční mechanismy, deferred deep link není potřeba — stačí Universal Links a App Links.

Při výběru implementace zvažte cenu: Firebase Dynamic Links je zdarma, ale má omezenou analytiku. Branch.io a AppsFlyer poskytují pokročilou atribuci, ale vyžadují předplatné. Pro malé projekty je Firebase optimální řešení, pro enterprise s desítkami reklamních kanálů — komerční MMP.

Často kladené otázky

Čím se deferred deep link liší od běžného deep link?

Běžný deep link vyžaduje nainstalovanou aplikaci a otevírá ji přímo. Deferred Deep Link funguje, i když aplikace není nainstalována — přesměruje do obchodu a po instalaci obnoví kontext přechodu a otevře cílovou obrazovku.

Jak dlouho se uchovávají parametry deferred deep link?

Doba uchování závisí na platformě. Firebase Dynamic Links uchovává parametry až 30 dní. Branch.io uchovává data až 90 dní. Na Androidu Install Referrer API uchovává referrer řetězec do okamžiku prvního přečtení aplikací, ale ne déle než 90 dní.

Funguje deferred deep link v prohlížeči na stolním počítači?

Na stolním počítači nemá deferred deep link smysl, protože aplikaci nelze nainstalovat přes obchod na počítači. Při kliknutí na odkaz z počítače uživatel uvidí fallback URL — webovou verzi obsahu nebo stránku s QR kódem pro instalaci na mobilním zařízení.

Které prohlížeče podporují deferred deep link?

Chrome, Safari a Samsung Internet podporují deferred deep link přes mechanismy cookie a localStorage. Firefox má omezenou podporu kvůli přísné politice blokování cookie třetích stran. Pro maximální pokrytí se doporučuje použití SDK Firebase nebo Branch.io.

Lze implementovat deferred deep link bez SDK třetích stran?

Technicky lze implementovat vlastní řešení přes zprostředkující server a referenční mechanismy. To však vyžaduje vývoj a údržbu serverové infrastruktury, správu cookie, integraci s každým obchodem a řešení problémů na různých platformách. Hotová SDK Firebase a Branch.io urychlují vývoj desetinásobně.

Shrnutí

  • Deferred Deep Link — hluboký odkaz s odloženým obnovením kontextu po instalaci aplikace, řešící problém běžných deep link.
  • Princip — kliknutí na odkaz ukládá parametry na serveru, po instalaci se SDK připojí k serveru a obnoví kontext.
  • iOS — implementuje se přes iCloud Keychain a Shared Web Credentials s omezeními od iOS 14.
  • Android — používá Install Referrer API z Google Play, nejspolehlivější mechanismus deferred deep link na mobilních platformách.
  • Firebase Dynamic Links — bezplatné řešení s minimální integrací, vhodné pro většinu projektů.
  • Branch.io — komerční platforma s pokročilou atribucí, deepview a integrací s reklamními sítěmi.
  • Použití — deferred deep link je nezbytný pro reklamní kampaně, referenční programy a e-mailový marketing pro nové uživatele.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také