A Firebase Dynamic Links a Google szolgáltatása intelligens linkek létrehozására, amelyek a felhasználót a megfelelő helyre irányítják a mobilalkalmazáson belül vagy a weboldalon, attól függően, hogy az alkalmazás telepítve van-e az eszközön. A Dynamic Links megőrzi az átmenet kontextusát még az alkalmazásboltból történő telepítés utáni első indításkor is. A Firebase Documentation, 2026 szerint a dinamikus linkek egy egységes API-ban kerülnek feldolgozásra, amely automatikusan meghatározza a viselkedést: az alkalmazás megnyitása, a weboldalra lépés vagy az alkalmazás telepítése. A szolgáltatás nélkülözhetetlen a referral programokhoz, onboarding forgatókönyvekhez és marketingkampányokhoz.
Főbb pontok
A Firebase Dynamic Links a Google technológiája, amely egyetlen linket hoz létre, amely a kívánt tartalomhoz vezet a mobilalkalmazásban vagy a weboldalon, a viselkedést a platformtól és a telepítés állapotától függően igazítva. A link ellenőrzi, hogy az alkalmazás telepítve van-e az eszközön: ha igen — megnyitja a paraméterek átadásával, ha nem — a Google Play vagy App Store áruházba irányít a telepítéshez, majd telepítés után átirányít a célképernyőre.
A Dynamic Links fő előnye a hagyományos deep linkekkel szemben a halasztott mély linkek támogatása. A Deferred Deep Linking azt jelenti, hogy az átmenet kontextusa (a link paraméterei) akkor is megmarad, ha az alkalmazás még nincs telepítve. Amikor a felhasználó telepíti az alkalmazást az áruházból, a Dynamic Links SDK beolvassa a mentett kontextust, és továbbítja a megfelelő képernyőre. E technológia nélkül a felhasználó a telepítés után egyszerűen a főképernyőre kerülne, elveszítve a promóciós kódot, meghívót vagy a konkrét rendelésre mutató linket.
A Dynamic Links referral programokban használatos új felhasználók bevonzására, a meghívó fiókjához kapcsolva. Marketingkampányok e-mail hírlevelekből és közösségi médiából érkező átmenetekkel a Dynamic Links segítségével mérik pontosan a konverziót. Onboarding forgatókönyvekben a link az új felhasználót egy személyre szabott tartalommal ellátott üdvözlőképernyőre irányítja. Az e-kereskedelemben a termék linkek megőrzik a kontextust, és a termékkártyára vezetnek még a telepítés utáni első indításkor is.
A Dynamic Links működési mechanizmusa több szakaszból áll, amelyek mindegyike eltérő lehet az alkalmazás állapotától függően. Amikor a felhasználó rákattint egy dinamikus linkre, a böngésző kérést küld a Firebase szervernek. A Firebase ellenőrzi, hogy az alkalmazás telepítve van-e intent-filter vagy universal link ellenőrzés segítségével. Ha az alkalmazás telepítve van, a Firebase megnyitja azt a mély link átadásával. Ha nem — átirányít az áruház oldalára vagy a webes verzióra.
Egy szabványos Dynamic Link alap URL-ből, link paraméterekből és opcionális marketing címkékből áll. Az alap URL egy your-app.page.link formátumú domain, amely a Firebase Console-ban van regisztrálva. A mély link paraméterei query paramétereken keresztül vannak megadva: link (cél URL az alkalmazáson belül), apn (Android Package Name), ibi (iOS Bundle ID), st és sd (cím és leírás a közösségi előnézethez). Az utm_source, utm_medium, utm_campaign marketing címkék a Google Analytics-be kerülnek továbbításra nyomon követés céljából.
| Paraméter | Leírás | Példa |
|---|---|---|
| link | Cél mély link | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Közösségi cím | Különleges ajánlat |
| sd | Közösségi leírás | 30% kedvezmény az első rendelésre |
A Firebase Console vizuális felületet biztosít Dynamic Links létrehozásához az Engage > Dynamic Links szakaszban. A konzolban minden link paraméter beállítható, beleértve a mély linket, a webes viselkedést, a közösségi metaadatokat és az UTM címkéket. A link létrehozása után a konzol kész URL-t, valamint kattintási és átmeneti statisztikákat biztosít. Linkek tömeges létrehozásához a Firebase Dynamic Links REST API-t használják OAuth 2.0 hitelesítéssel.
A Dynamic Links programozott létrehozásához POST kérés kerül elküldésre a Firebase Dynamic Links API-nak. A kérés törzse tartalmazza a dynamicLinkInfo-t a mély link paramétereivel, platformbeállításokkal és közösségi metaadatokkal. Az API egy kész URL-t ad vissza https://your-app.page.link/abc123 formában. Hosszú élettartamú linkekhez a suffix.option = UNIQUE használatos — egyedi utótaggal rendelkező rövid linkek. Ideiglenes linkekhez — SHORT, ütközés lehetőségével.
const axios = require("axios")
const apiUrl = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY"
const data = {
dynamicLinkInfo: {
domainUriPrefix: "https://yourapp.page.link",
link: "https://yourapp.com/promo/summer",
androidInfo: { androidPackageName: "com.example.myapp" },
iosInfo: { iosBundleId: "com.example.myapp.ios" },
socialMetaTagInfo: {
socialTitle: "Nyári akció",
socialDescription: "Akár 50% kedvezmény a hónap végéig"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
A Dynamic Links automatikusan rövid URL-eket generál, amelyek 6–8 karakter hosszúságúak a domain után, így alkalmasak SMS-ben és közösségi médiában való használatra. Az UTM paraméterek az utmParameters mezőn keresztül vagy közvetlenül a link paraméterben adhatók hozzá. A Firebase automatikusan összekapcsolja a Dynamic Links kattintásokat a Google Analytics for Firebase-szel, lehetővé téve a referral forgalom és a kampányattribúció nyomon követését.
A Dynamic Links konfigurálása Androidban magában foglalja a Firebase SDK hozzáadását, az intent-filter beállítását a mély linkeket fogadó aktivitáshoz, és a linkek feldolgozását a Firebase Dynamic Links SDK-n keresztül. Az SDK telepítése és a google-services.json hozzáadása után regisztrálni kell az aktivitást az AndroidManifest.xml-ben intent-filter-rel az alkalmazás domainjéről érkező linkek feldolgozásához.
A Dynamic Links-et feldolgozó aktivitásnak intent-filter-rel kell rendelkeznie a VIEW művelethez és a DEFAULT és BROWSABLE kategóriákhoz. Az AndroidManifest.xml tartalmaz egy data tag-ot android:scheme, android:host és android:pathPrefix paraméterekkel, amelyek megfelelnek a mély linknek. A page.link domainről érkező linkek feldolgozásához egy intent-filter is hozzáadásra kerül https sémával és a Dynamic Links domain hostjával.
<!-- AndroidManifest.xml -->
<activity android:name=".MainActivity">
<intent-filter>
<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="yourapp.com"
android:pathPrefix="/promo" />
</intent-filter>
</activity>
Az intent-filter beállítása után a bejövő Dynamic Link-et fel kell dolgozni az aktivitás kódjában. A FirebaseDynamicLinks API kinyeri a linket az intent-ből, és egy PendingDynamicLinkData objektumot ad vissza a kinyert paraméterekkel. A getLink metódus visszaadja a cél mély linket, amely elemezhető és felhasználható navigációra. Fontos, hogy a linket hideg induláskor (getIntent az onCreate-ben) és meleg induláskor (onNewIntent) is fel kell dolgozni.
A Dynamic Links konfigurálása iOS-ben konfigurációt igényel mind a Firebase oldalán, mind az Xcode projektben. Az APNs kulcsot fel kell tölteni a Firebase Console-ba, a Firebase SDK-t hozzá kell adni Swift Package Manager vagy CocoaPods segítségével, és be kell állítani az App Delegate-et az Universal Linkek feldolgozásához. Az iOS Dynamic Links az Universal Linkeket használja a zökkenőmentes átmenethez a böngésző és az alkalmazás között, köztes oldal nélkül.
Az Universal Linkek az Apple technológiája, amely összeköti a domaint a mobilalkalmazással. Az apple-app-site-association (AASA) fájl a szerverre kerül feltöltésre a https://your-app.page.link/apple-app-site-association címen. A Firebase automatikusan létrehozza és karbantartja ezt a fájlt a Dynamic Links domainhez. Az Xcode-ban engedélyezni kell az Associated Domains funkciót, és meg kell adni az applinks:your-app.page.link címet a projekt Capabilities részében.
iOS esetén a Dynamic Links feldolgozása a Firebase SDK-n keresztül történik az App Delegate-ben vagy Scene Delegate-ben. Az application:continueUserActivity: metódus elkapja a bejövő Universal Linket, és továbbítja a Firebase Dynamic Links API-nak, amely kinyeri a cél linket és paramétereket. A Firebase SDK automatikusan feldolgozza a Deferred Deep Linkeket, a telepítési adatokat a Firebase Installation API rövid távú tárolóján keresztül kérve le.
import FirebaseDynamicLinks
class AppDelegate: UIApplicationDelegate {
func application(
_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping
([UIUserActivityRestoring]?) -> Void
) -> Bool {
return DynamicLinks.dynamicLinks()
.handleUniversalLink(userActivity.webpageURL!) {
dynamicLink, error in
if let link = dynamicLink?.url {
self.handleDeepLink(link)
}
}
}
}
Nézzünk meg egy teljes példát a Dynamic Link feldolgozására egy Android alkalmazásban Kotlin nyelven. A MainActivity beolvassa a bejövő Dynamic Linket mind hideg, mind meleg induláskor. A link paraméterekre bomlik, amelyek a navigációhoz használatosak a megfelelő képernyőre, argumentumok átadásával. A példa bemutatja a promóciós oldalra mutató link feldolgozását a promóció azonosítójával.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
handleDynamicLink(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleDynamicLink(intent)
}
private fun handleDynamicLink(intent: Intent) {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener { data ->
val deepLink = data?.link ?: return@addOnSuccessListener
val promoId = deepLink
.getQueryParameter("promoId") ?: ""
if (promoId.isNotEmpty()) {
navigateToPromoScreen(promoId)
}
}
.addOnFailureListener { e ->
Log.e("DL", "Hiba a link feldolgozása során", e)
}
}
}
A Dynamic Links teszteléséhez a Firebase Console használatos, ahol létrehozható egy teszt link, amely elküldhető az eszközre üzenetküldőn vagy e-mailen keresztül. A Firebase Dynamics Links Debugger a https://your-app.page.link/?d=1 URL-en érhető el, és részletes információkat jelenít meg a link viselkedéséről. A Deferred Deep Linkek tesztelésekor meg kell győződni arról, hogy az alkalmazás el van távolítva, és telepítés után a link a megfelelő képernyőre vezet az átadott paraméterekkel.
Gyakran ismételt kérdések
A hagyományos deep linkek csak telepített alkalmazás esetén működnek, és nem őrzik meg a kontextust telepítés után. A Dynamic Links támogatja a Deferred Deep Linkinget — a felhasználó telepíti az alkalmazást, és azonnal a célképernyőre kerül a mentett link paraméterekkel.
Nincs szükség szerverre a linkek létrehozásához és feldolgozásához — minden művelet a Firebase Console, REST API vagy Firebase SDK segítségével történik az ügyfélen. Tömeges linkgeneráláshoz a REST API ajánlott, de a konzol alkalmas kézi létrehozásra.
A Dynamic Links-nek nincs lejárati ideje — örökre a Firebase-ben tárolódnak, ha nem törlik őket manuálisan. Az UNIQUE utótagú rövid linkek korlátlan ideig léteznek. Javasolt egyedi linkeket létrehozni minden kampányhoz a pontos attribúció érdekében.
A Dynamic Link feldolgozásához internetkapcsolat szükséges a kattintás szakaszában, mivel a Firebase szerver ellenőrzi az alkalmazás telepítési állapotát. A link feldolgozása után az adatok intent vagy Universal Link segítségével kerülnek továbbításra az alkalmazásba, és hálózat nélkül is elérhetővé válnak.
A Firebase Dynamic Links ingyenesek a Spark csomag keretein belül. A Blaze csomagban projektjelenként napi 50 ezer kattintás korlát van, további díjak nélkül. A korlát túllépése blokkolja az új linkek létrehozását a következő napig.
Összefoglalás
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.
Olvassa el is