Firebase Dynamic Links är Googles tjänst för att skapa smarta länkar som leder användaren till rätt plats i mobilappen eller på webbplatsen, beroende på om appen är installerad på enheten. Dynamic Links bevarar sammanhanget för övergången även vid första starten efter installation från appbutiken. Enligt Firebase Documentation, 2026 bearbetas dynamiska länkar i ett enhetligt API som automatiskt bestämmer beteendet: öppna appen, gå till webbplatsen eller installera appen. Tjänsten är oumbärlig för hänvisningsprogram, onboarding-scenarier och marknadsföringskampanjer.
Huvudpunkter
Firebase Dynamic Links är Googles teknik som skapar en enda länk som leder till önskat innehåll i mobilappen eller på webbplatsen, och anpassar beteendet beroende på plattform och installationsstatus. Länken kontrollerar om appen är installerad på enheten: om ja — öppnar den med överföring av parametrar, om nej — leder till Google Play eller App Store för installation och efter installation omdirigerar till målgskärmen.
Den främsta fördelen med Dynamic Links jämfört med vanliga djupa länkar är stödet för uppskjutna djupa länkar. Deferred Deep Linking innebär att övergångssammanhanget (länkparametrarna) bevaras även om appen inte är installerad ännu. När användaren installerar appen från butiken läser Dynamic Links SDK det sparade sammanhanget och överför det till rätt skärm. Utan denna teknik skulle användaren efter installation helt enkelt hamna på huvudskärmen och förlora promotionskoden, inbjudan eller länken till en specifik beställning.
Dynamic Links används i hänvisningsprogram för att locka nya användare med koppling till inbjudarens konto. Marknadsföringskampanjer med övergångar från e-postnyhetsbrev och sociala medier använder Dynamic Links för att noggrant mäta konvertering. I onboarding-scenarier leder länken den nya användaren till en välkomstskärm med personligt anpassat innehåll. Inom e-handel bevarar produktlänkarna sammanhanget och leder till produktkortet även vid första starten efter installation.
Funktionsmekanismen för Dynamic Links består av flera steg, som var och en kan variera beroende på appens tillstånd. När användaren klickar på en dynamisk länk skickar webbläsaren en begäran till Firebase-servern. Firebase kontrollerar om appen är installerad via intent-filter eller universal link-verifiering. Om appen är installerad öppnar Firebase den med överföring av den djupa länken. Om inte — omdirigerar till butikssidan eller webbversionen.
En standard Dynamic Link består av en bas-URL, länkparametrar och valfria marknadsföringstaggar. Bas-URL:en är en domän i form av your-app.page.link, registrerad i Firebase Console. Parametrarna för den djupa länken anges via frågeparametrar: link (mål-URL i appen), apn (Android Package Name), ibi (iOS Bundle ID), st och sd (titel och beskrivning för social förhandsvisning). Marknadsföringstaggarna utm_source, utm_medium, utm_campaign överförs till Google Analytics för spårning.
| Parameter | Beskrivning | Exempel |
|---|---|---|
| link | Mål djup länk | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Social titel | Speciellt erbjudande |
| sd | Social beskrivning | 30% rabatt på första beställningen |
Firebase Console ger ett visuellt gränssnitt för att skapa Dynamic Links i avsnittet Engage > Dynamic Links. I konsolen kan alla länkparametrar ställas in, inklusive den djupa länken, webbeteende, social metadata och UTM-taggar. Efter att länken skapats tillhandahåller konsolen en färdig URL samt statistik över klick och övergångar. För masskapande av länkar används Firebase Dynamic Links REST API med OAuth 2.0-autentisering.
För programmerad skapande av Dynamic Links används en POST-begäran till Firebase Dynamic Links API. Begärandets brödtext innehåller dynamicLinkInfo med parametrar för den djupa länken, plattformsinställningar och social metadata. API:et returnerar en färdig URL i form av https://your-app.page.link/abc123. För långlivade länkar används suffix.option = UNIQUE — korta länkar med unikt suffix. För temporära länkar — SHORT, med möjlighet till kollisioner.
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: "Sommarerbjudande",
socialDescription: "Upp till 50% rabatt till slutet av månaden"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links genererar automatiskt korta URL:er med en längd på 6–8 tecken efter domänen, vilket gör dem lämpliga för användning i SMS och sociala medier. UTM-parametrar läggs till via fältet utmParameters eller direkt i länkparametern. Firebase kopplar automatiskt Dynamic Links-klick till Google Analytics för Firebase, vilket möjliggör spårning av hänvisningstrafik och kampanjattribuering.
Konfiguration av Dynamic Links i Android omfattar att lägga till Firebase SDK, konfigurera intent-filter för aktiviteten som tar emot djupa länkar och bearbeta länkar via Firebase Dynamic Links SDK. Efter installation av SDK och tillägg av google-services.json måste aktiviteten registreras i AndroidManifest.xml med intent-filter för bearbetning av länkar från appens domän.
Aktiviteten som bearbetar Dynamic Links måste ha intent-filter för åtgärden VIEW och kategorierna DEFAULT och BROWSABLE. AndroidManifest.xml innehåller en data-tagg med android:scheme, android:host och android:pathPrefix som motsvarar din djupa länk. För bearbetning av länkar från page.link-domänen läggs även ett intent-filter till med https-schema och host för din Dynamic Links-domän.
<!-- 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>
Efter konfiguration av intent-filter måste den inkommande Dynamic Linken bearbetas i aktivitetens kod. FirebaseDynamicLinks API hämtar länken från intentet och returnerar ett PendingDynamicLinkData-objekt med extraherade parametrar. Metoden getLink returnerar den djupa mållänken som kan analyseras och användas för navigering. Det är viktigt att bearbeta länken både vid kallstart (via getIntent i onCreate) och vid varmstart (via onNewIntent).
Konfiguration av Dynamic Links i iOS kräver konfiguration både på Firebase-sidan och i Xcode-projektet. APNs-nyckeln måste laddas upp i Firebase Console, Firebase SDK läggas till via Swift Package Manager eller CocoaPods och App Delegate konfigureras för bearbetning av Universal Links. Dynamic Links i iOS använder Universal Links för sömlös övergång mellan webbläsare och app utan mellanliggande sida.
Universal Links är Apples teknik som kopplar din domän till mobilappen. Filerna apple-app-site-association (AASA) laddas upp på servern på adressen https://your-app.page.link/apple-app-site-association. Firebase skapar och underhåller automatiskt denna fil för din Dynamic Links-domän. I Xcode måste Associated Domains aktiveras och applinks:your-app.page.link anges i projektets Capabilities.
För iOS utförs bearbetning av Dynamic Links via Firebase SDK i App Delegate eller Scene Delegate. Metoden application:continueUserActivity: fångar upp den inkommande Universal Linken och överför den till Firebase Dynamic Links API, som extraherar mållänken och parametrarna. Firebase SDK bearbetar automatiskt Deferred Deep Links genom att begära installationsdata via Firebase Installation APIs korttidslagring.
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)
}
}
}
}
Låt oss titta på ett komplett exempel på bearbetning av en Dynamic Link i en Android-app i Kotlin. MainActivity läser den inkommande Dynamic Linken både vid kallstart och varmstart av appen. Länken bryts ner i parametrar som används för navigering till rätt skärm med överföring av argument. Exemplet visar bearbetning av en länk till en promotionssida med promotions-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", "Fel vid bearbetning av länk", e)
}
}
}
För att testa Dynamic Links används Firebase Console, där en testlänk kan skapas och skickas till enheten via messenger eller e-post. Firebase Dynamics Links Debugger är tillgänglig på URL:en https://your-app.page.link/?d=1 och visar detaljerad information om länkens beteende. Vid testning av Deferred Deep Links måste du se till att appen är avinstallerad och att länken efter installation leder till rätt skärm med de överförda parametrarna.
Vanliga frågor
Vanliga djupa länkar fungerar bara när appen är installerad och bevarar inte sammanhanget efter installation. Dynamic Links stöder Deferred Deep Linking — användaren installerar appen och kommer direkt till målgskärmen med sparade länkparametrar.
Ingen server krävs för att skapa och bearbeta länkar — alla operationer utförs via Firebase Console, REST API eller Firebase SDK på klienten. För massgenerering av länkar rekommenderas REST API, men konsolen är lämplig för manuell skapande.
Dynamic Links har inget utgångsdatum — de lagras i Firebase för alltid om de inte tas bort manuellt. Korta länkar med UNIQUE-suffix finns obegränsat. Det rekommenderas att skapa unika länkar för varje kampanj för korrekt attribuering.
För bearbetning av en Dynamic Link krävs en internetanslutning i klickstadiet eftersom Firebase-servern kontrollerar appens installationsstatus. Efter bearbetning av länken överförs data till appen via intent eller Universal Link och blir tillgängliga även utan nätverk.
Firebase Dynamic Links är gratis inom Spark-planen. I Blaze-planen finns en gräns på 50 000 klick per dag per projekt utan extra kostnad. Överskridande av gränsen blockerar skapandet av nya länkar till nästa dag.
Sammanfattning
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.
Läs också