Firebase Dynamic Links: vad det är, hur det fungerar och används i utveckling

Författare: IT Sectr Publicerad: 2026-05-14 Lästid: 8 min

Firebase Dynamic Links är en Googletjänst för att skapa smarta länkar som leder användaren till rätt plats i appen oavsett om appen är installerad eller inte. Enligt Firebase Documentation omdirigerar Dynamic Links automatiskt användaren till App Store eller Google Play när appen saknas och återställer övergångens sammanhang efter installation. Firebases smart-länkar löser problemet med URL Scheme som inte fungerar med oinstallerade appar.

Huvudpunkter

  • Firebase Dynamic Links — Googletjänst för att skapa universella länkar som fungerar på iOS och Android med stöd för deferred deep link.
  • Deferred — den främsta fördelen: länken behåller övergångens sammanhang även om appen inte är installerad och återställer det efter installation.
  • Analys — Firebase spårar automatiskt övergångar via Dynamic Links och tillhandahåller data i Firebase Analytics och Google Analytics.
  • Plattformar — Dynamic Links fungerar på iOS (via Universal Links) och Android (via App Links) med en enda universell länk för båda plattformarna.
  • Skapa — länkar genereras via Firebase Console, REST API eller SDK på klientsidan med konfiguration av beteende för varje scenario.

Firebase Dynamic Links är en molntjänst från Google som skapar enhetliga universella länkar för mobila appar på iOS och Android. Den dynamiska länken innehåller en djup länk till innehåll i appen men beter sig som en vanlig HTTPS-länk: om appen är installerad öppnas den direkt, annars omdirigeras den till appbutiken.

Till skillnad från vanliga URL Schemes kan Dynamic Links fungera med oinstallerade appar tack vare tekniken deferred deep link. När användaren installerar appen efter att ha klickat på länken sparar Firebase övergångsparametrarna och skickar dem vid första starten. Detta öppnar möjligheter för hänvisningsprogram, marknadsföringskampanjer och inbjudningar.

Skillnad från vanliga URL Schemes

URL Schemes kräver en installerad app och har ingen standardmekanism för fallback. Firebase Dynamic Links löser detta problem genom en mellanliggande Firebase-webbtjänst som bestämmer appens installationsstatus på enheten och dirigerar användaren korrekt. En länk fungerar likadant på båda plattformarna.

Firebase Dynamic Link använder en domän i formen yourcode.page.link, som registreras i Firebase Console. När en användare navigerar via en sådan länk bestämmer Firebase enhetstypen och appens installationsstatus. För iOS används Universal Links-mekanismen, för Android — App Links med automatisk verifiering via Digital Asset Links.

Bearbetningsprocessen omfattar flera på varandra följande steg: när användaren klickar på länken skickar webbläsaren en GET-begäran till Firebase-servern, servern bestämmer plattformen och kontrollerar om appen finns på enheten. Om appen är installerad — genereras en omdirigering till en Universal Link eller Intent med parametrar för att öppna målfönstret. Om appen inte är installerad — omdirigering till App Store eller Google Play för nedladdning.

Dynamic Links livscykel

Appen tar emot länken i initialiseringsfasen av Firebase SDK. Metoden getDynamicLink() returnerar ett PendingResult med data om övergången. Efter framgångsrik mottagning extraheras djup länk-parametrar, UTM-taggar för analys och godtyckliga data som skickades vid länkskapandet från länken.

Firebase Console tillhandahåller ett visuellt gränssnitt för att skapa Dynamic Links. Utvecklaren anger den djupa länken (deep link URL), kampanjnamn, separata inställningar för iOS och Android samt analysparametrar. Efter skapandet genererar Firebase en kort länk i formen https://yourcode.page.link/abc123 som kan användas i reklammaterial, e-postkampanjer och sociala medier.

För programmeringsmässig skapande av Dynamic Links används Firebase REST API eller klientens SDK. REST API möjliggör massgenerering av länkar för marknadsföringskampanjer med anpassade parametrar, inklusive en länk för sociala medier och asynkron övergångsanalys. Vid skapande av länkar via API är det viktigt att korrekt ange parametrarna socialMetaTagInfo — de bestämmer hur länken visas vid delning i meddelandeappar och sociala nätverk med ett förhandsgranskningskort.

Dynamic Link-parametrar

ParameterSyfteObligatorisk
Deep Link URLIntern länk till appinnehållJa
iOS Bundle IDAppens identifierare i App StoreFör iOS
Android Package NamePaketnamn i Google PlayFör Android
Fallback URLWebbsida när appen saknasNej
UTM-taggarParametrar för Google AnalyticsNej

För att arbeta med Firebase Dynamic Links på iOS måste Firebase SDK anslutas via CocoaPods eller Swift Package Manager, Info.plist konfigureras med GOOGLE_APP_ID och domänen för Dynamic Links registreras i projektets Associated Domains. Därefter bearbetar appen automatiskt de Universal Links som genererats av Firebase.

I Xcode måste funktionen Associated Domains läggas till med en post i formen applinks:yourcode.page.link. Firebase SDK använder metoden application(_:continue:restorationHandler:) för att bearbeta Universal Links, så ytterligare integration med AppDelegate krävs inte — Firebase extraherar automatiskt Dynamic Link-parametrarna från User Activity.

Konfiguration i Xcode

Exempel på Info.plist-konfiguration för korrekt initialisering av Firebase och registrering av Dynamic Links-hanteraren. Nyckeln FIROptions måste innehålla projektidentifikatorn från GoogleService-Info.plist.

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

Om AppDelegate-proxyn är inaktiverad måste metoden handleUniversalLink(_:) anropas manuellt och User Activity från continue NSUserActivity skickas. Firebase SDK extraherar automatiskt länkparametrarna och returnerar DynamicLink via completion handler.

På Android börjar integrationen av Firebase Dynamic Links med att lägga till beroenden i build.gradle och filen google-services.json från Firebase Console. Domänen för Dynamic Links registreras i Firebase Console, varefter alla länkar med denna domän automatiskt känns igen av Android-appen via ett Intent Filter med åtgärden VIEW. För korrekt funktion måste även plugin-programmet Google Services läggas till i rot- och modul-build.gradle och Gradle-synkronisering utföras.

För korrekt bearbetning av länkar på Android måste ett Intent Filter för Dynamic Links-domänen läggas till i den Activity som ska ta emot inkommande länkar. Filtret måste innehålla schemat https, värddatorn för din Dynamic Links-domän och standardsökvägen.

Intent Filter för Dynamic Links

Exempel på Intent Filter i AndroidManifest.xml för att ta emot Dynamic Links på domänen 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>

Det är viktigt att ställa in launchMode på singleTask för den Activity som tar emot Dynamic Links. Detta förhindrar att en ny Activity-instans skapas vid upprepad navigering via länken och möjliggör korrekt bearbetning av alla inkommande deep links i en enda instans.

Firebase SDK för Android tillhandahåller metoden FirebaseDynamicLinks.getInstance().getDynamicLink(intent), som returnerar ett PendingTask-objekt med data om länken. Från DynamicLink-objektet extraheras den djupa URI, UTM-parametrar och övergångens tidsstämpel. Bearbetning rekommenderas att utföras i metoderna onCreate() och onNewIntent() för Activity.

Vid bearbetning är det viktigt att ta hänsyn till att Dynamic Link kan tas emot både vid start av appen från kallt tillstånd (cold start) och vid övergång från en annan app till en redan igång app. För det andra fallet måste onNewIntent() åsidosättas och Dynamic Link-kontrollen anropas igen.

Bearbetning i Kotlin-kod

Exempel på mottagning och bearbetning av Firebase Dynamic Link i MainActivity. Koden hanterar både cold start och övergång från en annan 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)
            }
    }
}

Metoden addOnSuccessListener returnerar DynamicLink, från vilken mållänken extraheras via link?.link. Om listenern returnerar null betyder det att Intent inte innehåller någon Dynamic Link — detta är en normal appstart utan inkommande länk. Även UTM-taggar finns tillgängliga för övergångsanalys, inklusive campaign, medium, source och content, som kan skickas till Google Analytics för detaljerad utvärdering av varje marknadsföringskanals effektivitet.

Vanliga frågor

Vad skiljer Firebase Dynamic Links från vanlig deep link?

Firebase Dynamic Links stöder deferred deep link — länken behåller sammanhanget även om appen inte är installerad. Efter installation får appen alla övergångsparametrar, vilket är omöjligt med vanliga URL Schemes eller Universal Links.

Måste jag betala för Firebase Dynamic Links?

Firebase Dynamic Links ingår i den kostnadsfria prisplanen Firebase Spark. Det finns ingen begränsning för antalet länkar som kan skapas. Sedan 2024 har Google dock meddelat övergång till ny infrastruktur, så villkoren kan ändras.

Kan jag använda Dynamic Links i en webbapplikation?

Dynamic Links är avsedda för mobila appar. Vid åtkomst från en webbläsare på skrivbordet öppnar länken fallback-URL:en. För webbapplikationer, använd vanliga länkar eller din egen omdirigeringslogik.

Hur testar jag Dynamic Links under utvecklingsfasen?

Firebase Console tillhandahåller knappen Test Dynamic Link för förhandsgranskning av beteendet. Du kan också använda en Android-emulator eller iOS-simulator med installerat Firebase SDK för lokal testning av alla övergångsscenarier.

Hur många tecken kan en Dynamic Link innehålla?

Den korta Firebase Dynamic Link består av domänen page.link och ett slumpmässigt suffix på cirka 7 tecken. Den totala längden är cirka 30 tecken. Den djupa länken inuti kan vara av valfri längd, men det rekommenderas att begränsa den till 2 KB för kompatibilitet.

Sammanfattning

  • Firebase Dynamic Links — enhetliga universella länkar från Google för iOS och Android med stöd för deferred deep link.
  • Funktionsprincip — länken passerar Firebase-servern som bestämmer enheten och appens installationsstatus för korrekt routning.
  • Deferred — den främsta fördelen: övergångsparametrar sparas och återställs efter installation av appen från butiken.
  • Skapa — länkar genereras via Firebase Console, REST API eller klient-SDK med konfiguration av parametrar för varje plattform.
  • iOS-integration — kräver Associated Domains i Xcode och Firebase SDK; bearbetning via Universal Links och metoden continue UserActivity.
  • Android-integration — kräver Intent Filter i manifestet med åtgärden VIEW och Dynamic Links-domän, plus Firebase SDK i build.gradle.
  • Analys — Firebase spårar automatiskt övergångar via Dynamic Links med stöd för UTM-taggar för Google Analytics.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också