Firebase Dynamic Links is de service van Google voor het maken van slimme links die de gebruiker naar de juiste plaats in de mobiele app of op de website leiden, afhankelijk van of de app op het apparaat is geïnstalleerd. Dynamic Links behouden de context van de overgang, zelfs bij de eerste start na installatie uit de app-store. Volgens Firebase Documentation, 2026 worden dynamische links verwerkt in een uniforme API die automatisch het gedrag bepaalt: de app openen, naar de site gaan of de app installeren. De service is onmisbaar voor verwijzingsprogramma's, onboarding-scenario's en marketingcampagnes.
Belangrijkste punten
Firebase Dynamic Links is de technologie van Google die een enkele link maakt die naar de gewenste inhoud in de mobiele app of website leidt, waarbij het gedrag wordt aangepast aan het platform en de installatiestatus. De link controleert of de app op het apparaat is geïnstalleerd: zo ja — opent deze met doorgeven van parameters, zo nee — leidt naar Google Play of App Store voor installatie en na installatie door naar het doelscherm.
Het belangrijkste voordeel van Dynamic Links ten opzichte van gewone deep links is de ondersteuning voor uitgestelde diepe links. Deferred Deep Linking betekent dat de overgangscontext (linkparameters) behouden blijft, zelfs als de app nog niet is geïnstalleerd. Wanneer de gebruiker de app uit de store installeert, leest Dynamic Links SDK de opgeslagen context en geeft deze door aan het juiste scherm. Zonder deze technologie zou de gebruiker na installatie gewoon op het hoofdscherm terechtkomen en de promotiecode, uitnodiging of link naar een specifieke bestelling verliezen.
Dynamic Links worden gebruikt in verwijzingsprogramma's om nieuwe gebruikers te werven met koppeling aan het account van de uitnodiger. Marketingcampagnes met overgangen vanuit e-mailnieuwsbrieven en sociale media gebruiken Dynamic Links voor het nauwkeurig meten van conversie. In onboarding-scenario's leidt de link de nieuwe gebruiker naar een welkomstscherm met gepersonaliseerde inhoud. In e-commerce behouden productlinks de context en leiden ze naar de productkaart, zelfs bij de eerste start na installatie.
Het werkingsmechanisme van Dynamic Links bestaat uit verschillende fasen, die elk kunnen variëren afhankelijk van de status van de app. Wanneer de gebruiker op een dynamische link klikt, stuurt de browser een verzoek naar de Firebase-server. Firebase controleert of de app is geïnstalleerd via intent-filter of universal link-verificatie. Als de app is geïnstalleerd, opent Firebase deze met doorgeven van de diepe link. Zo niet — leidt door naar de winkelpagina of webversie.
Een standaard Dynamic Link bestaat uit een basis-URL, linkparameters en optionele marketingtags. De basis-URL is een domein in de vorm your-app.page.link, geregistreerd in Firebase Console. De diepe link-parameters worden ingesteld via query-parameters: link (doel-URL in de app), apn (Android Package Name), ibi (iOS Bundle ID), st en sd (titel en beschrijving voor sociale preview). Marketingtags utm_source, utm_medium, utm_campaign worden doorgegeven aan Google Analytics voor tracking.
| Parameter | Beschrijving | Voorbeeld |
|---|---|---|
| link | Doel diepe link | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Sociale titel | Speciale aanbieding |
| sd | Sociale beschrijving | 30% korting op de eerste bestelling |
Firebase Console biedt een visuele interface voor het aanmaken van Dynamic Links in de sectie Engage > Dynamic Links. In de console kunnen alle linkparameters worden ingesteld, inclusief de diepe link, webgedrag, sociale metadata en UTM-tags. Na het aanmaken van de link biedt de console een kant-en-klare URL en statistieken over klikken en overgangen. Voor het bulksgewijs aanmaken van links wordt de REST API van Firebase Dynamic Links met OAuth 2.0-authenticatie gebruikt.
Voor het programmatisch aanmaken van Dynamic Links wordt een POST-verzoek naar Firebase Dynamic Links API gebruikt. De aanvraagbody bevat dynamicLinkInfo met diepe link-parameters, platforminstellingen en sociale metadata. De API retourneert een kant-en-klare URL in de vorm https://your-app.page.link/abc123. Voor langdurige links wordt suffix.option = UNIQUE gebruikt — korte links met een uniek achtervoegsel. Voor tijdelijke links — SHORT, met mogelijke botsingen.
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: "Zomeractie",
socialDescription: "Tot 50% korting tot eind van de maand"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links genereren automatisch korte URL's met een lengte van 6–8 tekens na het domein, waardoor ze geschikt zijn voor gebruik in SMS en sociale media. UTM-parameters worden toegevoegd via het veld utmParameters of rechtstreeks in de linkparameter. Firebase koppelt automatisch klikken op Dynamic Links aan Google Analytics voor Firebase, waardoor verwijzingsverkeer en campagne-attributie kunnen worden gevolgd.
Configuratie van Dynamic Links in Android omvat het toevoegen van Firebase SDK, het configureren van intent-filter voor de activiteit die diepe links ontvangt en het verwerken van links via Firebase Dynamic Links SDK. Na installatie van de SDK en toevoeging van google-services.json moet de activiteit worden geregistreerd in AndroidManifest.xml met intent-filter voor het verwerken van links van het app-domein.
De activiteit die Dynamic Links verwerkt, moet een intent-filter hebben voor de actie VIEW en de categorieën DEFAULT en BROWSABLE. AndroidManifest.xml bevat een data-tag met android:scheme, android:host en android:pathPrefix die overeenkomen met uw diepe link. Voor het verwerken van links van het page.link-domein wordt ook een intent-filter toegevoegd met schema https en host van uw Dynamic Links-domein.
<!-- 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>
Na het configureren van de intent-filter moet de inkomende Dynamic Link worden verwerkt in de activiteitencode. FirebaseDynamicLinks API haalt de link uit de intent en retourneert een PendingDynamicLinkData-object met de geëxtraheerde parameters. De getLink-methode retourneert de doel-diepe link die kan worden geanalyseerd en gebruikt voor navigatie. Het is belangrijk om de link zowel bij koude start (via getIntent in onCreate) als bij warme start (via onNewIntent) te verwerken.
Configuratie van Dynamic Links in iOS vereist configuratie zowel aan Firebase-zijde als in het Xcode-project. De APNs-sleutel moet worden geüpload in Firebase Console, Firebase SDK worden toegevoegd via Swift Package Manager of CocoaPods, en App Delegate worden geconfigureerd voor het verwerken van Universal Links. Dynamic Links in iOS gebruiken Universal Links voor naadloze overgang tussen browser en app zonder tussenpagina.
Universal Links is de technologie van Apple die uw domein aan de mobiele app koppelt. Het bestand apple-app-site-association (AASA) wordt op de server geladen op https://your-app.page.link/apple-app-site-association. Firebase maakt en onderhoudt dit bestand automatisch voor uw Dynamic Links-domein. In Xcode moeten Associated Domains worden ingeschakeld en applinks:your-app.page.link worden opgegeven in Capabilities van het project.
Voor iOS wordt de verwerking van Dynamic Links uitgevoerd via Firebase SDK in App Delegate of Scene Delegate. De methode application:continueUserActivity: onderschept de inkomende Universal Link en geeft deze door aan Firebase Dynamic Links API, die de doellink en parameters extraheert. Firebase SDK verwerkt automatisch Deferred Deep Links door installatiegegevens op te vragen via de kortetermijnopslag van Firebase Installation API.
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)
}
}
}
}
Laten we een volledig voorbeeld bekijken van het verwerken van een Dynamic Link in een Android-app in Kotlin. MainActivity leest de inkomende Dynamic Link zowel bij koude als warme start van de app. De link wordt ontleed in parameters die worden gebruikt voor navigatie naar het juiste scherm met doorgeven van argumenten. Het voorbeeld toont de verwerking van een link naar een promotiepagina met de promotie-ID.
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", "Fout bij verwerken van link", e)
}
}
}
Voor het testen van Dynamic Links wordt Firebase Console gebruikt, waar een testlink kan worden aangemaakt en naar het apparaat kan worden verzonden via messenger of e-mail. Firebase Dynamics Links Debugger is beschikbaar op URL https://your-app.page.link/?d=1 en toont gedetailleerde informatie over het gedrag van de link. Bij het testen van Deferred Deep Links moet worden gecontroleerd of de app is verwijderd en de link na installatie naar het juiste scherm leidt met de doorgegeven parameters.
Veelgestelde vragen
Gewone deep links werken alleen wanneer de app is geïnstalleerd en behouden de context niet na installatie. Dynamic Links ondersteunen Deferred Deep Linking — de gebruiker installeert de app en komt direct op het doelscherm met opgeslagen linkparameters.
Er is geen server nodig voor het aanmaken en verwerken van links — alle bewerkingen worden uitgevoerd via Firebase Console, REST API of Firebase SDK op de client. Voor bulkgeneratie van links wordt REST API aanbevolen, maar de console is geschikt voor handmatig aanmaken.
Dynamic Links hebben geen vervaldatum — ze worden voor altijd in Firebase bewaard als ze niet handmatig worden verwijderd. Korte links met UNIQUE-achtervoegsel bestaan onbeperkt. Het wordt aanbevolen om unieke links voor elke campagne te maken voor nauwkeurige attributie.
Voor het verwerken van een Dynamic Link is een internetverbinding vereist in de klikfase, omdat de Firebase-server de installatiestatus van de app controleert. Na verwerking van de link worden de gegevens via intent of Universal Link aan de app doorgegeven en zijn ze ook zonder netwerk beschikbaar.
Firebase Dynamic Links zijn gratis binnen het Spark-plan. In het Blaze-plan geldt een limiet van 50K klikken per dag per project zonder extra kosten. Overschrijding van de limiet blokkeert het aanmaken van nieuwe links tot de volgende dag.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook