Firebase Dynamic Links: mi ez, hogyan működik és használják a fejlesztésben

Szerző: IT Sectr Megjelenés: 2026-05-14 Olvasási idő: 8 perc

A Firebase Dynamic Links egy Google-szolgáltatás intelligens linkek létrehozására, amelyek a felhasználót az alkalmazás megfelelő helyére irányítják, függetlenül attól, hogy az alkalmazás telepítve van-e vagy sem. A Firebase Documentation szerint a Dynamic Links automatikusan átirányítja a felhasználót az App Store-ba vagy a Google Play-be, ha az alkalmazás hiányzik, és visszaállítja az átmenet kontextusát a telepítés után. A Firebase Smart-linkjei megoldják az URL Scheme problémáját, amely nem működik nem telepített alkalmazásokkal.

Főbb pontok

  • Firebase Dynamic Links — Google-szolgáltatás univerzális linkek létrehozására, amelyek iOS-en és Androidon működnek deferred deep link támogatással.
  • Deferred — a fő előny: a link megtartja az átmenet kontextusát akkor is, ha az alkalmazás nincs telepítve, és visszaállítja azt a telepítés után.
  • Analitika — a Firebase automatikusan követi a Dynamic Links-en keresztüli átmeneteket, és adatokat szolgáltat a Firebase Analytics-ben és a Google Analytics-ben.
  • Platformok — a Dynamic Links iOS-en (Universal Links-en keresztül) és Androidon (App Links-en keresztül) működik egyetlen univerzális linkkel mindkét platformhoz.
  • Létrehozás — a linkek a Firebase Console, REST API vagy kliensoldali SDK segítségével jönnek létre az egyes forgatókönyvek viselkedésének beállításával.

A Firebase Dynamic Links egy Google-felhőszolgáltatás, amely egységes univerzális linkeket hoz létre mobilalkalmazásokhoz iOS-en és Androidon. A dinamikus link egy mély linket tartalmaz az alkalmazáson belüli tartalomhoz, de úgy viselkedik, mint egy szokványos HTTPS-link: ha az alkalmazás telepítve van, közvetlenül megnyitja, ha nem — átirányít az alkalmazásáruházba.

A szokványos URL Scheme-ektől eltérően a Dynamic Links működhet nem telepített alkalmazásokkal a deferred deep link technológiának köszönhetően. Amikor a felhasználó a linkre kattintás után telepíti az alkalmazást, a Firebase elmenti az átmenet paramétereit, és továbbítja azokat az első indításkor. Ez lehetőségeket nyit meg ajánló programok, marketingkampányok és meghívók számára.

Különbség a szokványos URL Scheme-ektől

Az URL Scheme-ek telepített alkalmazást igényelnek, és nincs szabványos fallback mechanizmusuk. A Firebase Dynamic Links ezt a problémát egy közvetítő Firebase webszolgáltatáson keresztül oldja meg, amely meghatározza az alkalmazás telepítési állapotát az eszközön, és helyesen útvonalazza a felhasználót. Egyetlen link ugyanúgy működik mindkét platformon.

A Firebase Dynamic Link egy yourcode.page.link formájumú domaint használ, amely a Firebase Console-ban van regisztrálva. Amikor egy felhasználó egy ilyen linken keresztül navigál, a Firebase meghatározza az eszköz típusát és az alkalmazás telepítési állapotát. iOS esetén a Universal Links mechanizmus, Android esetén az App Links automatikus ellenőrzéssel, a Digital Asset Links-en keresztül kerül használatra.

A feldolgozási folyamat több egymást követő szakaszból áll: a linkre kattintáskor a böngésző GET kérelmet küld a Firebase-szervernek, a szerver meghatározza a platformot és ellenőrzi az alkalmazás jelenlétét az eszközön. Ha az alkalmazás telepítve van — átirányítás történik egy Universal Linkre vagy Intent-re a céloldal megnyitásához szükséges paraméterekkel. Ha az alkalmazás nincs telepítve — átirányítás az App Store-ba vagy a Google Play-be a letöltéshez.

A Dynamic Link életciklusa

Az alkalmazás a linket a Firebase SDK inicializálásának szakaszaiban kapja. A getDynamicLink() metódus egy PendingResult-ot ad vissza az átmenet adataival. Sikeres fogadás után a linkből kinyerésre kerülnek a mély link paraméterei, az analitikai UTM-címkék és a link létrehozásakor továbbított tetszőleges adatok.

A Firebase Console vizuális felületet biztosít a Dynamic Links létrehozásához. A fejlesztő megadja a mély linket (deep link URL), a kampány nevét, az iOS és Android különálló beállításait, valamint az analitikai paramétereit. A létrehozás után a Firebase egy rövid linket generál https://yourcode.page.link/abc123 formában, amely reklámanyagokban, e-mail kampányokban és közösségi médiában használható.

Programozott Dynamic Links létrehozáshoz a Firebase REST API vagy a kliens SDK használható. A REST API lehetővé teszi linkek tömeges generálását marketingkampányokhoz egyedi paraméterekkel, beleértve a közösségi médiához készült linket és az átmenetek aszinkron analitikáját. API-n keresztüli linkek létrehozásakor fontos a socialMetaTagInfo paraméterek helyes megadása — ezek határozzák meg, hogy a link hogyan jelenik meg üzenetküldőkben és közösségi oldalakon előnézeti kártyával történő megosztáskor.

Dynamic Link paraméterei

ParaméterCélKötelező
Deep Link URLBelső link az alkalmazás tartalmáhozIgen
iOS Bundle IDAz alkalmazás azonosítója az App Store-baniOS-hez
Android Package NameCsomagnév a Google Play-benAndroidhoz
Fallback URLWeboldal az alkalmazás hiányábanNem
UTM-címkékParaméterek a Google Analytics számáraNem

A Firebase Dynamic Links iOS-en történő használatához csatlakoztatni kell a Firebase SDK-t CocoaPods vagy Swift Package Manager segítségével, be kell állítani az Info.plist-et a GOOGLE_APP_ID-val, és regisztrálni kell a Dynamic Links domaint a projekt Associated Domains részében. Ezután az alkalmazás automatikusan feldolgozza a Firebase által generált Universal Links-eket.

Az Xcode-ban hozzá kell adni az Associated Domains képességet applinks:yourcode.page.link formájumú bejegyzéssel. A Firebase SDK az application(_:continue:restorationHandler:) metódust használja a Universal Links feldolgozásához, így nincs szükség további integrációra az AppDelegate-dzsel — a Firebase automatikusan kinyeri a Dynamic Link paramétereit a User Activity-ből.

Beállítás az Xcode-ban

Példa az Info.plist konfigurációjára a Firebase helyes inicializálásához és a Dynamic Links kezelő regisztrálásához. A FIROptions kulcsnak tartalmaznia kell a GoogleService-Info.plist projektazonosítót.

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

Ha az AppDelegate proxy le van tiltva, manuálisan kell meghívni a handleUniversalLink(_:) metódust, és továbbítani a User Activity-t a continue NSUserActivity-ból. A Firebase SDK automatikusan kinyeri a link paramétereit, és visszaadja a DynamicLink-et a completion handleren keresztül.

Androidon a Firebase Dynamic Links integrációja a függőségek build.gradle-be történő hozzáadásával és a Firebase Console-ból származó google-services.json fájl hozzáadásával kezdődik. A Dynamic Links domaint a Firebase Console-ban regisztrálják, ami után az ezzel a domaintel rendelkező összes linket automatikusan felismeri az Android-alkalmazás egy VIEW műveletű Intent Filteren keresztül. A helyes működéshez hozzá kell adni a Google Services bővítményt a gyökér és modul build.gradle-hez, és el kell végezni a Gradle szinkronizációt.

A linkek helyes feldolgozásához Androidon Intent Filter-t kell hozzáadni a Dynamic Links domainhez abban az Activity-ben, amelynek fogadnia kell a beérkező linkeket. A szűrőnek tartalmaznia kell a https sémát, az Ön Dynamic Links domainjének hostját és az alapértelmezett útvonalat.

Intent Filter a Dynamic Links számára

Példa Intent Filter-re az AndroidManifest.xml-ben a Dynamic Links fogadására a yourcode.page.link domainen.

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>

Fontos, hogy a Dynamic Links-et fogadó Activity számára a launchMode singleTask értékre legyen állítva. Ez megakadályozza új Activity-példány létrehozását a linken keresztüli ismételt navigáció során, és lehetővé teszi az összes beérkező mély link helyes feldolgozását egyetlen példányban.

Az Android Firebase SDK biztosítja a FirebaseDynamicLinks.getInstance().getDynamicLink(intent) metódust, amely egy PendingTask objektumot ad vissza a link adataival. A DynamicLink objektumból kinyerésre kerül a mély URI, az UTM paraméterek és az átmenet időbélyegje. A feldolgozást az Activity onCreate() és onNewIntent() metódusaiban ajánlott végezni.

A feldolgozáskor fontos figyelembe venni, hogy a Dynamic Link mind az alkalmazás hidegindításakor (cold start), mind pedig egy másik alkalmazásból egy már futó alkalmazásba történő átmenetkor érkezhet. A második esetben felül kell írni az onNewIntent() metódust, és újra meg kell hívni a Dynamic Link ellenőrzést.

Feldolgozás Kotlin kódban

Példa a Firebase Dynamic Link fogadására és feldolgozására a MainActivity-ben. A kód mind a cold start-ot, mind a másik alkalmazásból érkező átmenetet kezeli.

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

A addOnSuccessListener metódus visszaadja a DynamicLink-et, amelyből a cél link a link?.link-en keresztül kerül kinyerésre. Ha a listener null értéket ad vissza, az azt jelenti, hogy az Intent nem tartalmaz Dynamic Link-et — ez az alkalmazás normál indítása beérkező link nélkül. Ezenkívül elérhetők az UTM-címkék az átmenet analitikájához, beleértve a campaign, medium, source és content paramétereket, amelyek továbbíthatók a Google Analytics-be az egyes marketingcsatornák hatékonyságának részletes értékeléséhez.

Gyakran Ismételt Kérdések

Miben különbözik a Firebase Dynamic Links a szokványos deep linktől?

A Firebase Dynamic Links támogatja a deferred deep link funkciót — a link megtartja a kontextust akkor is, ha az alkalmazás nincs telepítve. A telepítés után az alkalmazás megkapja az összes átmeneti paramétert, ami a szokványos URL Scheme-ekkel vagy Universal Links-szel lehetetlen.

Fizetni kell a Firebase Dynamic Links-ért?

A Firebase Dynamic Links a Firebase Spark ingyenes díjcsomag része. Nincs korlátozás a létrehozható linkek számára. 2024-től azonban a Google áttérést jelentett be új infrastruktúrára, így a feltételek változhatnak.

Használhatók a Dynamic Links webes alkalmazásban?

A Dynamic Links mobilalkalmazásokhoz készültek. Asztali böngészőből történő eléréskor a link megnyitja a fallback URL-t. Webes alkalmazásokhoz használjon szokványos linkeket vagy saját átirányítási logikát.

Hogyan tesztelhetők a Dynamic Links a fejlesztés során?

A Firebase Console Test Dynamic Link gombot biztosít a viselkedés előnézetéhez. Használhat továbbá Android-emulátort vagy iOS-szimulátort telepített Firebase SDK-val az összes átmeneti forgatókönyv helyi teszteléséhez.

Hány karaktert tartalmazhat egy Dynamic Link?

A rövid Firebase Dynamic Link a page.link domainből és egy kb. 7 karakter hosszú véletlen utótagból áll. A teljes hossz kb. 30 karakter. A belső mély link bármilyen hosszúságú lehet, de a kompatibilitás érdekében ajánlott 2 KB-ra korlátozni.

Összefoglalás

  • Firebase Dynamic Links — egységes univerzális linkek a Google-tól iOS-hez és Androidhoz deferred deep link támogatással.
  • Működési elv — a link áthalad a Firebase-szerveren, amely meghatározza az eszközt és az alkalmazás telepítési állapotát a helyes útvonalazáshoz.
  • Deferred — a legfőbb előny: az átmeneti paraméterek mentésre kerülnek és visszaállítódnak az alkalmazás áruházból történő telepítése után.
  • Létrehozás — a linkek a Firebase Console, REST API vagy kliens SDK segítségével jönnek létre az egyes platformok paramétereinek beállításával.
  • iOS-integráció — Associated Domains-t igényel az Xcode-ban és Firebase SDK-t; feldolgozás Universal Links-en és a continue UserActivity metóduson keresztül.
  • Android-integráció — Intent Filter-t igényel a manifestben VIEW művelettel és Dynamic Links domaintel, valamint Firebase SDK-t a build.gradle-ben.
  • Analitika — a Firebase automatikusan követi a Dynamic Links-en keresztüli átmeneteket UTM-címkék támogatásával a Google Analytics számára.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is