Firebase Dynamic Links ist ein Google-Dienst zum Erstellen intelligenter Links, die den Benutzer an die richtige Stelle innerhalb einer mobilen App oder auf eine Website führen, je nachdem, ob die App auf dem Gerät installiert ist. Dynamic Links bewahren den Übergangskontext sogar beim ersten Start nach der Installation aus dem App Store. Laut der Firebase-Dokumentation, 2026 werden dynamische Links in einer einzigen API verarbeitet, die automatisch das Verhalten bestimmt: App öffnen, zur Website gehen oder App installieren. Der Dienst ist unverzichtbar für Empfehlungsprogramme, Onboarding-Szenarien und Marketingkampagnen.
Wichtige Punkte
Firebase Dynamic Links ist eine Google-Technologie, die einen einzigen Link erstellt, der zum gewünschten Inhalt in einer mobilen App oder Website führt und das Verhalten je nach Plattform und Installationsstatus anpasst. Der Link prüft, ob die App auf dem Gerät installiert ist: wenn ja — öffnet er sie mit übergebenen Parametern, wenn nein — leitet er zu Google Play oder dem App Store zur Installation weiter und leitet nach der Installation zum Zielbildschirm weiter.
Der Hauptvorteil von Dynamic Links gegenüber regulären Deep Links ist die Unterstützung für verzögerte Deep Links. Deferred Deep Linking bedeutet, dass der Übergangskontext (Link-Parameter) erhalten bleibt, selbst wenn die App noch nicht installiert ist. Wenn der Benutzer die App aus dem Store installiert, liest das Dynamic Links SDK den gespeicherten Kontext und übergibt ihn an den gewünschten Bildschirm. Ohne diese Technologie würde der Benutzer nach der Installation einfach auf dem Hauptbildschirm landen und den Promo-Code, die Einladung oder den Link zu einer bestimmten Bestellung verlieren.
Dynamic Links werden in Empfehlungsprogrammen verwendet, um neue Benutzer mit Zuordnung zum Konto des Einladenden zu gewinnen. Marketingkampagnen mit Übergängen aus E-Mail-Newslettern und sozialen Netzwerken nutzen Dynamic Links zur genauen Konversionsmessung. In Onboarding-Szenarien führt der Link einen neuen Benutzer zu einem Willkommensbildschirm mit personalisiertem Inhalt. Im E-Commerce bewahren Produktlinks den Kontext und führen sogar beim ersten Start nach der Installation zur Produktkarte.
Der Funktionsmechanismus von Dynamic Links besteht aus mehreren Phasen, die je nach App-Zustand variieren können. Wenn ein Benutzer auf einen dynamischen Link klickt, sendet der Browser eine Anfrage an den Firebase-Server. Firebase prüft, ob die App installiert ist, mittels intent-filter oder Universal-Link-Überprüfung. Wenn die App installiert ist, öffnet Firebase sie mit dem übergebenen Deep Link. Wenn nicht — leitet er zur Store-Seite oder Webversion weiter.
Ein Standard-Dynamic-Link besteht aus einer Basis-URL, Link-Parametern und optionalen Marketing-Tags. Die Basis-URL ist eine Domain wie your-app.page.link, die in der Firebase Console registriert ist. Deep-Link-Parameter werden über Query-Parameter festgelegt: link (Ziel-URL innerhalb der App), apn (Android Package Name), ibi (iOS Bundle ID), st und sd (Titel und Beschreibung für die Social-Vorschau). Marketing-Tags utm_source, utm_medium, utm_campaign werden zur Verfolgung an Google Analytics übergeben.
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| link | Ziel-Deep-Link | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Social-Titel | Besonderes Angebot |
| sd | Social-Beschreibung | 30% Rabatt auf Ihre erste Bestellung |
Firebase Console bietet eine visuelle Oberfläche zum Erstellen von Dynamic Links im Bereich Engage > Dynamic Links. In der Konsole können Sie alle Link-Parameter festlegen, einschließlich Deep Link, Webverhalten, soziale Metadaten und UTM-Tags. Nach der Erstellung des Links stellt die Konsole eine gebrauchsfertige URL sowie Statistiken zu Klicks und Übergängen bereit. Für die Massenerstellung von Links wird die Firebase Dynamic Links REST API mit OAuth 2.0-Authentifizierung verwendet.
Für die programmatische Erstellung von Dynamic Links wird eine POST-Anfrage an die Firebase Dynamic Links API gesendet. Der Anforderungstext enthält dynamicLinkInfo mit Deep-Link-Parametern, Plattformeinstellungen und sozialen Metadaten. Die API gibt eine gebrauchsfertige URL wie https://your-app.page.link/abc123 zurück. Für langlebige Links wird suffix.option = UNIQUE verwendet — kurze Links mit einem eindeutigen Suffix. Für temporäre Links — SHORT, mit möglichen Kollisionen.
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: "Sommeraktion",
socialDescription: "Bis zu 50% Rabatt bis Monatsende"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links generieren automatisch kurze URLs mit 6–8 Zeichen nach der Domain, was sie für die Verwendung in SMS und sozialen Netzwerken geeignet macht. UTM-Parameter werden über das Feld utmParameters oder direkt im Link-Parameter hinzugefügt. Firebase verknüpft Klicks auf Dynamic Links automatisch mit Google Analytics für Firebase, sodass Sie Empfehlungsverkehr und Kampagnenzuordnung verfolgen können.
Einrichten von Dynamic Links in Android umfasst das Hinzufügen des Firebase SDK, das Konfigurieren des intent-filter für die Activity, die Deep Links empfängt, und das Verarbeiten von Links über das Firebase Dynamic Links SDK. Nach der Installation des SDK und dem Hinzufügen von google-services.json müssen Sie die Activity in AndroidManifest.xml mit einem intent-filter zum Verarbeiten von Links von Ihrer App-Domain registrieren.
Die Activity, die Dynamic Links verarbeitet, muss einen intent-filter für die VIEW-Aktion und die Kategorien DEFAULT und BROWSABLE haben. AndroidManifest.xml enthält ein data-Tag mit android:scheme, android:host und android:pathPrefix, die Ihrem Deep Link entsprechen. Zum Verarbeiten von Links von der page.link-Domain wird auch ein intent-filter mit dem https-Schema und dem Host Ihrer Dynamic-Links-Domain hinzugefügt.
<!-- 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>
Nach dem Einrichten des intent-filter müssen Sie den eingehenden Dynamic Link im Activity-Code verarbeiten. Die FirebaseDynamicLinks API empfängt den Link aus dem intent und gibt ein PendingDynamicLinkData-Objekt mit extrahierten Parametern zurück. Die Methode getLink gibt den Ziel-Deep-Link zurück, der geparst und für die Navigation verwendet werden kann. Es ist wichtig, den Link sowohl beim Kaltstart (über getIntent in onCreate) als auch beim Warmstart (über onNewIntent) zu verarbeiten.
Einrichten von Dynamic Links in iOS erfordert Konfiguration sowohl auf der Firebase-Seite als auch im Xcode-Projekt. Sie müssen einen APNs-Schlüssel in die Firebase Console hochladen, das Firebase SDK über Swift Package Manager oder CocoaPods hinzufügen und den App Delegate für die Verarbeitung von Universal Links konfigurieren. Dynamic Links in iOS verwenden Universal Links für einen nahtlosen Übergang zwischen Browser und App ohne Zwischenseite.
Universal Links ist eine Apple-Technologie, die Ihre Domain mit einer mobilen App verbindet. Die apple-app-site-association (AASA)-Datei wird auf den Server unter https://your-app.page.link/apple-app-site-association hochgeladen. Firebase erstellt und pflegt diese Datei automatisch für Ihre Dynamic-Links-Domain. In Xcode müssen Sie Associated Domains aktivieren und applinks:your-app.page.link in den Capabilities des Projekts angeben.
Für iOS erfolgt die Dynamic-Links-Verarbeitung über das Firebase SDK im App Delegate oder Scene Delegate. Die Methode application:continueUserActivity: fängt den eingehenden Universal Link ab und übergibt ihn an die Firebase Dynamic Links API, die den Ziellink und die Parameter extrahiert. Das Firebase SDK verarbeitet automatisch Deferred Deep Links, indem es Installationsdaten über den Kurzzeitspeicher der Firebase Installation API anfordert.
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)
}
}
}
}
Betrachten wir ein vollständiges Beispiel der Verarbeitung eines Dynamic Links in einer Android-App mit Kotlin. MainActivity liest den eingehenden Dynamic Link sowohl beim Kalt- als auch beim Warmstart der App. Der Link wird in Parameter zerlegt, die für die Navigation zum gewünschten Bildschirm mit übergebenen Argumenten verwendet werden. Das Beispiel zeigt die Verarbeitung eines Links zu einer Aktionsseite mit einer Promo-Kampagnen-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", "Fehler bei der Linkverarbeitung", e)
}
}
}
Zum Testen von Dynamic Links wird die Firebase Console verwendet, wo Sie einen Testlink erstellen und über Messenger oder E-Mail an ein Gerät senden können. Der Firebase Dynamic Links Debugger ist unter https://your-app.page.link/?d=1 verfügbar und zeigt detaillierte Informationen über das Linkverhalten an. Beim Testen von Deferred Deep Links müssen Sie sicherstellen, dass die App deinstalliert ist und der Link nach der Installation mit den übergebenen Parametern zum richtigen Bildschirm führt.
Häufig gestellte Fragen
Reguläre Deep Links funktionieren nur, wenn die App installiert ist, und bewahren den Kontext nach der Installation nicht. Dynamic Links unterstützen Deferred Deep Linking — der Benutzer installiert die App und gelangt sofort mit den gespeicherten Link-Parametern auf den Zielbildschirm.
Für die Erstellung und Verarbeitung von Links ist kein Server erforderlich — alle Vorgänge werden über die Firebase Console, die REST API oder das Firebase SDK auf der Clientseite durchgeführt. Für die Massengenerierung von Links wird die REST API empfohlen, aber die Konsole ist für die manuelle Erstellung geeignet.
Dynamic Links haben kein Ablaufdatum — sie werden dauerhaft in Firebase gespeichert, sofern sie nicht manuell gelöscht werden. Kurze Links mit dem UNIQUE-Suffix existieren unbegrenzt. Es wird empfohlen, für jede Kampagne eindeutige Links zur genauen Zuordnung zu erstellen.
Die Verarbeitung eines Dynamic Links erfordert eine Internetverbindung beim Klick, da der Firebase-Server den Installationsstatus der App überprüft. Nach der Verarbeitung des Links werden die Daten über intent oder Universal Link an die App übergeben und sind auch offline verfügbar.
Firebase Dynamic Links sind im Spark-Plan kostenlos. Im Blaze-Plan gibt es ein Limit von 50.000 Klicks pro Tag pro Projekt ohne zusätzliche Gebühren. Bei Überschreitung des Limits wird die Erstellung neuer Links bis zum nächsten Tag blockiert.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch