Firebase Dynamic Links: Was es ist, wie es funktioniert und in der Entwicklung verwendet wird

Autor: IT Sectr Veröffentlicht: 2026-05-14 Lesezeit: 8 Min.

Firebase Dynamic Links ist ein Google-Dienst zum Erstellen intelligenter Links, die den Benutzer zur richtigen Stelle in der App leiten, unabhängig davon, ob die App installiert ist oder nicht. Laut der Firebase-Dokumentation leiten Dynamic Links den Benutzer automatisch zum App Store oder Google Play weiter, wenn die App nicht installiert ist, und stellen den Übergangskontext nach der Installation wieder her. Die Smart-Links von Firebase lösen das Problem des URL-Schemas, das mit nicht installierten Apps nicht funktioniert.

Wichtige Punkte

  • Firebase Dynamic Links — ein Google-Dienst zum Erstellen universeller Links, die auf iOS und Android mit Unterstützung für deferred Deep Link funktionieren.
  • Deferred — der Hauptvorteil: Der Link behält den Übergangskontext bei, selbst wenn die App nicht installiert ist, und stellt ihn nach der Installation wieder her.
  • Analytics — Firebase verfolgt automatisch Klicks auf Dynamic Links und stellt Daten in Firebase Analytics und Google Analytics bereit.
  • Plattformen — Dynamic Links funktionieren auf iOS (via Universal Links) und Android (via App Links) mit einem einzigen universellen Link für beide Plattformen.
  • Erstellung — Links werden über die Firebase Console, die REST API oder das Client-SDK mit Verhaltenskonfiguration für jedes Szenario generiert.

Firebase Dynamic Links ist ein Cloud-Dienst von Google, der einheitliche universelle Links für mobile Apps auf iOS und Android erstellt. Ein dynamischer Link enthält einen Deep Link zu Inhalten innerhalb der App, verhält sich aber wie ein normaler HTTPS-Link: Wenn die App installiert ist, öffnet er sie direkt; wenn nicht, leitet er zum App Store weiter.

Im Gegensatz zu normalen URL-Schemas können Dynamic Links dank der Deferred-Deep-Link-Technologie mit nicht installierten Apps funktionieren. Wenn ein Benutzer die App nach dem Klicken auf den Link installiert, speichert Firebase die Übergangsparameter und übergibt sie beim ersten Start. Dies eröffnet Möglichkeiten für Empfehlungsprogramme, Marketingkampagnen und Einladungen.

Unterschied zu normalen URL-Schemas

URL-Schemas erfordern eine installierte App und haben keinen Standard-Fallback-Mechanismus. Firebase Dynamic Links lösen dieses Problem über einen zwischengeschalteten Firebase-Webdienst, der den Installationsstatus der App auf dem Gerät ermittelt und den Benutzer korrekt weiterleitet. Gleichzeitig funktioniert ein Link auf beiden Plattformen identisch.

Firebase Dynamic Link verwendet eine Domain wie yourcode.page.link, die in der Firebase Console registriert wird. Wenn ein Benutzer auf einen solchen Link klickt, ermittelt Firebase den Gerätetyp und den Installationsstatus der App. Für iOS wird der Universal-Links-Mechanismus verwendet, für Android App Links mit automatischer Verifizierung über Digital Asset Links.

Der Verarbeitungsprozess umfasst mehrere aufeinanderfolgende Schritte: Beim Klicken auf den Link sendet der Browser eine GET-Anfrage an den Firebase-Server; der Server ermittelt die Plattform und prüft, ob die App auf dem Gerät vorhanden ist. Wenn die App installiert ist, wird eine Weiterleitung zu einem Universal Link oder Intent mit Parametern zum Öffnen des Zielbildschirms generiert. Wenn die App nicht installiert ist, wird zum App Store oder Google Play zum Herunterladen weitergeleitet.

Lebenszyklus eines Dynamic Link

Die App empfängt den Link während der Firebase SDK-Initialisierung. Die Methode getDynamicLink() gibt ein PendingResult mit Übergangsdaten zurück. Nach erfolgreichem Abruf werden die Deep-Link-Parameter, UTM-Tags für Analysen und beliebige Daten, die beim Erstellen des Links übergeben wurden, extrahiert.

Die Firebase Console bietet eine visuelle Oberfläche zum Erstellen von Dynamic Links. Der Entwickler gibt die Deep-Link-URL, den Kampagnennamen, die Einstellungen für iOS und Android getrennt sowie Analyseparameter an. Nach der Erstellung generiert Firebase einen kurzen Link wie https://yourcode.page.link/abc123, der in Werbematerialien, E-Mail-Kampagnen und sozialen Netzwerken verwendet werden kann.

Für die programmatische Erstellung von Dynamic Links wird die Firebase REST API oder das Client-SDK verwendet. Die REST API ermöglicht die Massengenerierung von Links für Marketingkampagnen mit benutzerdefinierten Parametern, einschließlich Links für soziale Netzwerke und asynchroner Klickanalyse. Beim Erstellen von Links über die API ist es wichtig, die Parameter socialMetaTagInfo korrekt anzugeben — sie bestimmen, wie der Link beim Teilen in Messengern und sozialen Netzwerken mit einer Vorschaukarte angezeigt wird.

Dynamic Link-Parameter

ParameterZweckErforderlich
Deep Link URLInterner Link zum App-InhaltJa
iOS Bundle IDApp-Bezeichner im App StoreFür iOS
Android Package NamePaketname im Google PlayFür Android
Fallback URLWebseite, wenn die App nicht installiert istNein
UTM-TagsParameter für Google AnalyticsNein

Um mit Firebase Dynamic Links unter iOS zu arbeiten, muss das Firebase SDK über CocoaPods oder Swift Package Manager integriert, Info.plist mit GOOGLE_APP_ID konfiguriert und die Dynamic Links-Domain in den Associated Domains des Projekts registriert werden. Danach verarbeitet die App automatisch die von Firebase generierten Universal Links.

In Xcode muss die Associated Domains-Fähigkeit mit einem Eintrag wie applinks:yourcode.page.link hinzugefügt werden. Das Firebase SDK verwendet die Methode application(_:continue:restorationHandler:) zur Verarbeitung von Universal Links, daher ist keine zusätzliche Integration mit AppDelegate erforderlich — Firebase extrahiert automatisch die Dynamic Link-Parameter aus der User Activity.

Konfiguration in Xcode

Beispiel für die Info.plist-Konfiguration zur ordnungsgemäßen Firebase-Initialisierung und Dynamic Link-Handler-Registrierung. Der FIROptions-Schlüssel sollte die Projektkennung aus GoogleService-Info.plist enthalten.

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

Wenn der AppDelegate-Proxy deaktiviert ist, muss die Methode handleUniversalLink(_:) manuell aufgerufen und die User Activity aus dem continue NSUserActivity übergeben werden. Das Firebase SDK extrahiert automatisch die Linkparameter und gibt über den Completion Handler ein DynamicLink zurück.

Unter Android beginnt die Integration von Firebase Dynamic Links mit dem Hinzufügen von Abhängigkeiten in build.gradle und der Datei google-services.json von der Firebase Console. Die Dynamic Links-Domain wird in der Firebase Console registriert, wonach alle Links mit dieser Domain automatisch von der Android-App über einen Intent Filter mit Action VIEW erkannt werden. Für den korrekten Betrieb muss außerdem das Google Services-Plugin in der Stamm- und Modul-build.gradle hinzugefügt und die Gradle-Synchronisierung durchgeführt werden.

Um Links unter Android korrekt zu verarbeiten, muss ein Intent Filter für die Dynamic Links-Domain in der Activity hinzugefügt werden, die eingehende Links empfangen soll. Der Filter muss das https-Schema, den Host Ihrer Dynamic Links-Domain und den Standardpfad enthalten.

Intent Filter für Dynamic Links

Beispiel für einen Intent Filter in AndroidManifest.xml zum Empfangen von Dynamic Links auf der Domain 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>

Es ist wichtig, launchMode auf singleTask für die Activity zu setzen, die Dynamic Links empfängt. Dies verhindert die Erstellung einer neuen Activity-Instanz bei wiederholten Link-Klicks und ermöglicht die Verarbeitung aller eingehenden Deep Links in einer einzigen Instanz.

Das Firebase SDK für Android stellt die Methode FirebaseDynamicLinks.getInstance().getDynamicLink(intent) bereit, die ein PendingTask-Objekt mit Linkdaten zurückgibt. Aus dem DynamicLink-Objekt werden die Deep-URI, UTM-Parameter und der Übergangszeitstempel extrahiert. Die Verarbeitung sollte in den Methoden onCreate() und onNewIntent() der Activity erfolgen.

Bei der Verarbeitung ist zu beachten, dass ein Dynamic Link sowohl beim Starten der App aus einem kalten Zustand (Cold Start) als auch beim Übergang von einer anderen App zu einer bereits laufenden App empfangen werden kann. Für den zweiten Fall muss onNewIntent() überschrieben und die Dynamic Link-Prüfung erneut aufgerufen werden.

Verarbeitung in Kotlin-Code

Beispiel für den Empfang und die Verarbeitung eines Firebase Dynamic Link in MainActivity. Der Code verarbeitet sowohl Cold Start als auch den Übergang von einer anderen App.

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

Die Methode addOnSuccessListener gibt ein DynamicLink zurück, aus dem der Ziellink über link?.link extrahiert wird. Wenn der Listener null zurückgibt, enthält der Intent keinen Dynamic Link — es handelt sich um einen normalen App-Start ohne eingehenden Link. Außerdem stehen UTM-Tags für die Klickanalyse zur Verfügung, darunter campaign, medium, source und content, die an Google Analytics übergeben werden können, um die Effektivität jedes Marketingkanals detailliert zu bewerten.

Häufig gestellte Fragen

Was ist der Unterschied zwischen Firebase Dynamic Links und einem normalen Deep Link?

Firebase Dynamic Links unterstützt Deferred Deep Link — der Link behält den Kontext bei, selbst wenn die App nicht installiert ist. Nach der Installation erhält die App alle Übergangsparameter, was mit normalen URL-Schemas oder Universal Links nicht möglich ist.

Muss ich für Firebase Dynamic Links bezahlen?

Firebase Dynamic Links sind im kostenlosen Firebase Spark-Tarif enthalten. Es gibt keine Begrenzung der Anzahl der erstellbaren Links. Allerdings hat Google seit 2024 den Übergang zu einer neuen Infrastruktur angekündigt, sodass sich die Bedingungen ändern können.

Können Dynamic Links in einer Webanwendung verwendet werden?

Dynamic Links sind für mobile Apps konzipiert. Beim Klicken auf den Link von einem Desktop-Webbrowser wird die Fallback-URL geöffnet. Für Webanwendungen verwenden Sie normale Links oder Ihre eigene Weiterleitungslogik.

Wie teste ich Dynamic Links während der Entwicklung?

Die Firebase Console bietet eine Schaltfläche Test Dynamic Link zur Vorschau des Verhaltens. Sie können auch den Android-Emulator oder iOS-Simulator mit installiertem Firebase SDK verwenden, um alle Übergangsszenarien lokal zu testen.

Wie viele Zeichen kann ein Dynamic Link enthalten?

Ein kurzer Firebase Dynamic Link besteht aus der Domain page.link und einem zufälligen Suffix von etwa 7 Zeichen. Die Gesamtlänge beträgt etwa 30 Zeichen. Der interne Deep Link kann beliebig lang sein, es wird jedoch empfohlen, ihn aus Kompatibilitätsgründen auf 2 KB zu begrenzen.

Zusammenfassung

  • Firebase Dynamic Links — einheitliche universelle Links von Google für iOS und Android mit Unterstützung für Deferred Deep Link.
  • Funktionsweise — der Link durchläuft den Firebase-Server, der das Gerät und den Installationsstatus der App für die korrekte Weiterleitung ermittelt.
  • Deferred — Hauptvorteil: Übergangsparameter werden nach der App-Installation aus dem Store gespeichert und wiederhergestellt.
  • Erstellung — Links werden über die Firebase Console, REST API oder das Client-SDK mit Parametereinstellungen für jede Plattform generiert.
  • iOS-Integration — erfordert Associated Domains in Xcode und Firebase SDK; Verarbeitung über Universal Links und die Methode continue UserActivity.
  • Android-Integration — erfordert Intent Filter im Manifest mit Action VIEW und der Dynamic Links-Domain, sowie Firebase SDK in build.gradle.
  • Analytics — Firebase verfolgt automatisch Klicks auf Dynamic Links mit Unterstützung für UTM-Tags für Google Analytics.

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.

Projekt besprechen

Lesen Sie auch