Firebase Dynamic Links: ce este, cum funcționează și se utilizează în dezvoltare

Autor: IT Sectr Publicat: 2026-05-14 Timp de citire: 8 min

Firebase Dynamic Links este un serviciu Google pentru crearea de linkuri inteligente care direcționează utilizatorul în locul potrivit al aplicației, indiferent dacă aplicația este instalată sau nu. Conform Firebase Documentation, Dynamic Links redirecționează automat utilizatorul către App Store sau Google Play când aplicația lipsește și restaurează contextul tranziției după instalare. Smart-linkurile Firebase rezolvă problema URL Scheme, care nu funcționează cu aplicații neinstalate.

Principalele puncte

  • Firebase Dynamic Links — serviciu Google pentru crearea de linkuri universale care funcționează pe iOS și Android cu suport pentru deferred deep link.
  • Deferred — principalul avantaj: linkul păstrează contextul tranziției chiar dacă aplicația nu este instalată și îl restabilește după instalare.
  • Analitică — Firebase urmărește automat tranzițiile prin Dynamic Links și oferă date în Firebase Analytics și Google Analytics.
  • Platforme — Dynamic Links funcționează pe iOS (prin Universal Links) și Android (prin App Links) cu un singur link universal pentru ambele platforme.
  • Creare — linkurile sunt generate prin Firebase Console, REST API sau SDK pe client cu configurarea comportamentului pentru fiecare scenariu.

Firebase Dynamic Links este un serviciu cloud de la Google care creează linkuri universale unificate pentru aplicații mobile pe iOS și Android. Linkul dinamic conține un link profund către conținutul din interiorul aplicației, dar se comportă ca un link HTTPS obișnuit: dacă aplicația este instalată, o deschide direct, dacă nu — redirecționează către magazinul de aplicații.

Spre deosebire de URL Scheme-urile obișnuite, Dynamic Links pot funcționa cu aplicații neinstalate datorită tehnologiei deferred deep link. Când utilizatorul instalează aplicația după ce a dat clic pe link, Firebase salvează parametrii tranziției și îi transmite la prima lansare. Aceasta deschide posibilități pentru programe de recomandare, campanii de marketing și invitații.

Diferența față de URL Scheme-urile obișnuite

URL Scheme-urile necesită aplicația instalată și nu au un mecanism standard de fallback. Firebase Dynamic Links rezolvă această problemă printr-un serviciu web intermediar Firebase care determină starea de instalare a aplicației pe dispozitiv și îi direcționează corect pe utilizatori. Un singur link funcționează la fel pe ambele platforme.

Firebase Dynamic Link folosește un domeniu de forma yourcode.page.link, care este înregistrat în Firebase Console. Când un utilizator accesează un astfel de link, Firebase determină tipul dispozitivului și starea de instalare a aplicației. Pentru iOS se folosește mecanismul Universal Links, pentru Android — App Links cu verificare automată prin Digital Asset Links.

Procesul de procesare include mai multe etape succesive: la clic pe link, browserul trimite o cerere GET către serverul Firebase, serverul determină platforma și verifică prezența aplicației pe dispozitiv. Dacă aplicația este instalată — se generează o redirecționare către Universal Link sau Intent cu parametri pentru deschiderea ecranului țină. Dacă aplicația nu este instalată — redirecționare către App Store sau Google Play pentru descărcare.

Ciclul de viață al Dynamic Link

Aplicația primește linkul în etapa de inițializare a Firebase SDK. Metoda getDynamicLink() returnează un PendingResult cu date despre tranziție. După primirea cu succes, din link sunt extrași parametrii deep link, etichetele UTM pentru analitică și datele arbitrare transmise la crearea linkului.

Firebase Console oferă o interfață vizuală pentru crearea Dynamic Links. Dezvoltatorul specifică linkul profund (deep link URL), numele campaniei, setările pentru iOS și Android separat, precum și parametrii de analitică. După creare, Firebase generează un link scurt de forma https://yourcode.page.link/abc123, care poate fi folosit în materiale publicitare, mailuri și rețele sociale.

Pentru crearea programatică a Dynamic Links se folosește Firebase REST API sau SDK-ul client. REST API permite generarea în masă a linkurilor pentru campanii de marketing cu parametri personalizați, inclusiv link pentru rețele sociale și analitică asincronă a tranzițiilor. La crearea linkurilor prin API, este important să se specifice corect parametrii socialMetaTagInfo — aceștia determină cum se afișează linkul la transmiterea în mesagerie și rețele sociale cu o carte de previzualizare.

Parametrii Dynamic Link

ParametruDestinațieObligatoriu
Deep Link URLLink intern către conținutul aplicațieiDa
iOS Bundle IDIdentificatorul aplicației în App StorePentru iOS
Android Package NameNumele pachetului în Google PlayPentru Android
Fallback URLPagină web în absența aplicațieiNu
Etichete UTMParametri pentru Google AnalyticsNu

Pentru a lucra cu Firebase Dynamic Links pe iOS, trebuie conectat Firebase SDK prin CocoaPods sau Swift Package Manager, configurat Info.plist cu GOOGLE_APP_ID și înregistrat domeniul Dynamic Links în Associated Domains al proiectului. După aceea, aplicația procesează automat Universal Links generate de Firebase.

În Xcode trebuie adăugat capability Associated Domains cu o înscriere de forma applinks:yourcode.page.link. Firebase SDK folosește metoda application(_:continue:restorationHandler:) pentru procesarea Universal Links, deci nu este necesară o integrare suplimentară cu AppDelegate — Firebase extrage automat parametrii Dynamic Link din User Activity.

Configurare în Xcode

Exemplu de configurare Info.plist pentru inițializarea corectă a Firebase și înregistrarea handlerului Dynamic Links. Cheia FIROptions trebuie să conțină identificatorul proiectului GoogleService-Info.plist.

xml
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
    <string>https://yourcode.page.link</string>
</array>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>

Dacă proxy-ul AppDelegate este dezactivat, trebuie apelată manual metoda handleUniversalLink(_:) și transmisă User Activity din continue NSUserActivity. Firebase SDK extrage automat parametrii linkului și returnează DynamicLink prin completion handler.

Pe Android, integrarea Firebase Dynamic Links începe cu adăugarea dependențelor în build.gradle și a fișierului google-services.json din Firebase Console. Domeniul Dynamic Links se înregistrează în Firebase Console, după care toate linkurile cu acest domeniu sunt recunoscute automat de aplicația Android prin Intent Filter cu acțiunea VIEW. Pentru funcționarea corectă, trebuie adăugat și pluginul Google Services în build.gradle rădăcină și modular și efectuată sincronizarea Gradle.

Pentru procesarea corectă a linkurilor pe Android, trebuie adăugat un Intent Filter pentru domeniul Dynamic Links în Activity care trebuie să primească linkurile de intrare. Filtrul trebuie să conțină schema https, hostul domeniului dumneavoastră Dynamic Links și calea implicită.

Intent Filter pentru Dynamic Links

Exemplu de Intent Filter în AndroidManifest.xml pentru primirea Dynamic Links pe domeniul yourcode.page.link.

xml
<activity android:name=".MainActivity"
    android:launchMode="singleTask">
    <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="yourcode.page.link" />
    </intent-filter>
</activity>

Este important să se seteze launchMode singleTask pentru Activity care primește Dynamic Links. Aceasta previne crearea unei noi instanțe Activity la accesarea repetată a linkului și permite procesarea corectă a tuturor deep linkurilor de intrare într-o singură instanță.

Firebase SDK pentru Android oferă metoda FirebaseDynamicLinks.getInstance().getDynamicLink(intent), care returnează un obiect PendingTask cu date despre link. Din obiectul DynamicLink se extrage URI-ul profund, parametrii UTM și timestamp-ul tranziției. Se recomandă efectuarea procesării în metodele onCreate() și onNewIntent() ale Activity.

La procesare, este important să se ia în considerare că Dynamic Link poate fi primit atât la pornirea aplicației din stare rece (cold start), cât și la trecerea dintr-o altă aplicație într-o aplicație deja pornită. Pentru al doilea caz, trebuie suprascris onNewIntent() și re-apelată verificarea Dynamic Link.

Procesare în cod Kotlin

Exemplu de primire și procesare a Firebase Dynamic Link în MainActivity. Codul gestionează atât cold start, cât și trecerea dintr-o altă aplicație.

kotlin
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        checkDynamicLink(intent)
    }
    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        checkDynamicLink(intent)
    }
    private fun checkDynamicLink(intent: Intent) {
        FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener link ->
                val deepLink = link?.link.toString()
                handleDeepLink(deepLink)
            }
    }
}

Metoda addOnSuccessListener returnează DynamicLink, din care se extrage linkul țină prin link?.link. Dacă listenerul returnează null, înseamnă că Intent nu conține un Dynamic Link — aceasta este o pornire normală a aplicației fără un link de intrare. De asemenea, sunt disponibile etichetele UTM pentru analitică a tranzițiilor, inclusiv campaign, medium, source și content, care pot fi transmise către Google Analytics pentru o evaluare detaliată a eficienței fiecărui canal de marketing.

Întrebări frecvente

Cu ce se deosebește Firebase Dynamic Links de deep link-ul obișnuit?

Firebase Dynamic Links suportă deferred deep link — linkul păstrează contextul chiar dacă aplicația nu este instalată. După instalare, aplicația primește toți parametrii tranziției, ceea ce este imposibil cu URL Scheme-urile sau Universal Links obișnuite.

Trebuie să plătesc pentru Firebase Dynamic Links?

Firebase Dynamic Links fac parte din planul tarifar gratuit Firebase Spark. Nu există limită la numărul de linkuri create. Totuși, din 2024 Google a anunțat tranziția către o nouă infrastructură, deci condițiile se pot schimba.

Pot folosi Dynamic Links într-o aplicație web?

Dynamic Links sunt destinate aplicațiilor mobile. La accesarea dintr-un browser pe desktop, linkul va deschide fallback URL-ul. Pentru aplicații web, folosiți linkuri obișnuite sau propria logică de redirecționare.

Cum testez Dynamic Links în faza de dezvoltare?

Firebase Console oferă butonul Test Dynamic Link pentru previzualizarea comportamentului. De asemenea, puteți folosi emulatorul Android sau simulatorul iOS cu Firebase SDK instalat pentru testarea locală a tuturor scenariilor de tranziție.

Câte caractere poate conține un Dynamic Link?

Linkul scurt Firebase Dynamic Link este format din domeniul page.link și un sufix aleator de aproximativ 7 caractere. Lungimea totală este de aproximativ 30 de caractere. Deep link-ul din interior poate fi de orice lungime, dar se recomandă să fie limitat la 2 KB pentru compatibilitate.

Concluzii

  • Firebase Dynamic Links — linkuri universale unificate de la Google pentru iOS și Android cu suport pentru deferred deep link.
  • Principiu de funcționare — linkul trece prin serverul Firebase, care determină dispozitivul și starea de instalare a aplicației pentru o rutare corectă.
  • Deferred — avantajul cheie: parametrii tranziției sunt salvați și restaurați după instalarea aplicației din magazin.
  • Creare — linkurile sunt generate prin Firebase Console, REST API sau SDK client cu configurarea parametrilor pentru fiecare platformă.
  • Integrare iOS — necesită Associated Domains în Xcode și Firebase SDK; procesare prin Universal Links și metoda continue UserActivity.
  • Integrare Android — necesită Intent Filter în manifest cu acțiunea VIEW și domeniul Dynamic Links, plus Firebase SDK în build.gradle.
  • Analitică — Firebase urmărește automat tranzițiile prin Dynamic Links cu suport pentru etichete UTM pentru Google Analytics.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și