Firebase Dynamic Links — Google-un istifadəçini mobil tətbiq daxilində lazımi yerə və ya sayta aparan ağıllı linklər yaratmaq xidmətidir, cihazda tətbiqin quraşdırılıb-qurulmadığından asılı olaraq. Dynamic Links tətbiq mağazasından quraşdırıldıqdan sonra ilk işə salınmada belə keçid kontekstini qoruyur. Firebase Documentation, 2026-ya əsasən, dinamik linklər vahid API-də işlənir, avtomatik olaraq davranışı müəyyən edir: tətbiqi açmaq, sayta keçmək və ya tətbiqi quraşdırmaq. Xidmət referal proqramları, onboarding ssenariləri və marketinq kampaniyaları üçün əvəzedilməzdir.
Əsas məqamlar
Firebase Dynamic Links — Google-un mobil tətbiqdə və ya veb-saytda lazımi məzmuna aparan vahid link yaradan, platformadan və quraşdırma vəziyyətindən asılı olaraq davranışı uyğunlaşdıran texnologiyasıdır. Link cihazda tətbiqin quraşdırılıb-qurulmadığını yoxlayır: quraşdırılıbsa — parametrləri ötürməklə onu açır, yoxdursa — quraşdırma üçün Google Play və ya App Store-a yönləndirir, quraşdırmadan sonra isə hədəf ekrana yönləndirir.
Dynamic Links-in adi deep link-lərlə müqayisədə əsas üstünlüyü təxirə salınmış dərin linklərin dəstəyidir. Deferred Deep Linking o deməkdir ki, keçid konteksti (link parametrləri) tətbiq hələ quraşdırılmasa belə qorunur. İstifadəçi tətbiqi mağazadan quraşdırdıqda, Dynamic Links SDK saxlanmış konteksti oxuyur və onu müvafiq ekrana ötürür. Bu texnologiya olmadan istifadəçi quraşdırmadan sonra sadəcə əsas ekrana düşər, promosyon kodunu, dəvəti və ya konkret sifariş linkini itirərdi.
Dynamic Links dəvət edənin hesabına bağlanmaqla yeni istifadəçilər cəlb etmək üçün referal proqramlarında istifadə olunur. Marketinq kampaniyaları e-poçt göndərişlərindən və sosial şəbəkələrdən keçidlərlə konversiyanı dəqiq ölçmək üçün Dynamic Links-dən istifadə edir. Onboarding ssenarilərində link yeni istifadəçini fərdiləşdirilmiş məzmunla qarşılama ekranına aparır. E-ticarətdə məhsul linkləri konteksti qoruyur və quraşdırmadan sonra ilk işə salınmada belə məhsul kartına aparır.
İş mexanizmi Dynamic Links bir neçə mərhələdən ibarətdir, hər biri tətbiqin vəziyyətindən asılı olaraq dəyişə bilər. İstifadəçi dinamik linkə kliklədikdə, brauzer Firebase serverinə sorğu göndərir. Firebase intent-filter və ya universal link yoxlaması vasitəsilə tətbiqin quraşdırılıb-qurulmadığını yoxlayır. Tətbiq quraşdırılıbsa, Firebase onu dərin linki ötürməklə açır. Yoxdursa — mağaza səhifəsinə və ya veb versiyaya yönləndirir.
Standart Dynamic Link əsas URL, link parametrləri və isteğe bağlı marketinq teqlərindən ibarətdir. Əsas URL — Firebase Console-da qeydiyyatdan keçmiş your-app.page.link domenidir. Dərin link parametrləri sorğu parametrləri ilə təyin olunur: link (tətbiq daxilində hədəf URL), apn (Android Package Name), ibi (iOS Bundle ID), st və sd (sosial önbaxış üçün başlıq və təsvir). utm_source, utm_medium, utm_campaign marketinq teqləri izləmə üçün Google Analytics-ə ötürülür.
| Parametr | Təsvir | Nümunə |
|---|---|---|
| link | Hədəf dərin link | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Sosial başlıq | Xüsusi təklif |
| sd | Sosial təsvir | İlk sifarişə 30% endirim |
Firebase Console Engage > Dynamic Links bölməsində linklər yaratmaq üçün vizual interfeys təqdim edir. Konsolda dərin link, veb davranış, sosial metadatalar və UTM etiketləri daxil olmaqla bütün link parametrlərini təyin etmək olar. Link yaradıldıqdan sonra konsol hazır URL, həmçinin klik və keçid statistikası təqdim edir. Kütləvi link yaratmaq üçün OAuth 2.0 autentifikasiyası ilə Firebase Dynamic Links REST API istifadə olunur.
Proqram vasitəsilə Dynamic Links yaratmaq üçün Firebase Dynamic Links API-yə POST sorğusu göndərilir. Sorğunun gövdəsi dərin link parametrləri, platforma ayarları və sosial metadatalarla dynamicLinkInfo ehtiva edir. API https://your-app.page.link/abc123 şəklində hazır URL qaytarır. Uzunmüddətli linklər üçün suffix.option = UNIQUE istifadə olunur — unikal suffiksli qısa linklər. Müvəqqəti linklər üçün — SHORT, toqquşma ehtimalı ilə.
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: "Yay aksiyası",
socialDescription: "Ayın sonunadək 50% endirim"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links avtomatik olaraq domenindən sonra 6–8 simvol uzunluğunda qısa URL-lər yaradır ki, bu da onları SMS və sosial şəbəkələrdə istifadəyə yararlı edir. UTM parametrləri utmParameters sahəsi və ya birbaşa link parametri vasitəsilə əlavə olunur. Firebase avtomatik olaraq Dynamic Links kliklərini Firebase üçün Google Analytics ilə əlaqələndirir ki, bu da referal trafikini və kampaniya atribusiyasını izləməyə imkan verir.
Android-də Dynamic Links-in konfiqurasiyası Firebase SDK-nın əlavə edilməsi, dərin linkləri qəbul edən aktivlik üçün intent-filter konfiqurasiyası və Firebase Dynamic Links SDK vasitəsilə linklərin işlənməsini əhatə edir. SDK quraşdırıldıqdan və google-services.json əlavə edildikdən sonra AndroidManifest.xml-də tətbiqinizin domenindən linkləri emal etmək üçün intent-filter ilə aktivliyi qeydiyyatdan keçirmək lazımdır.
Dynamic Links-i emal edən aktivlik VIEW hərəkəti və DEFAULT və BROWSABLE kateqoriyaları üçün intent-filter-ə malik olmalıdır. AndroidManifest.xml dərin linkinizə uyğun android:scheme, android:host və android:pathPrefix ilə data teqini ehtiva edir. Page.link domenindən linkləri emal etmək üçün https sxemi və Dynamic Links domeninizin hostu ilə intent-filter də əlavə olunur.
<!-- 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>
Intent-filter konfiqurasiya edildikdən sonra aktivlik kodunda daxil olan Dynamic Link-i emal etmək lazımdır. FirebaseDynamicLinks API intent-dən linki alır və çıxarılmış parametrlərlə PendingDynamicLinkData obyekti qaytarır. getLink metodu naviqasiya üçün təhlil edilə bilən hədəf dərin linki qaytarır. Linki həm soyuq başlanğıcda (onCreate-də getIntent vasitəsilə), həm də isti başlanğıcda (onNewIntent vasitəsilə) emal etmək vacibdir.
iOS-də Dynamic Links-in konfiqurasiyası həm Firebase tərəfində, həm də Xcode layihəsində konfiqurasiya tələb edir. Firebase Console-da APNs açarını yükləmək, Swift Package Manager və ya CocoaPods vasitəsilə Firebase SDK əlavə etmək və Universal Links-i emal etmək üçün App Delegate-i konfiqurasiya etmək lazımdır. iOS-də Dynamic Links brauzer və tətbiq arasında ara səhifə olmadan şəffaf keçid üçün Universal Links-dən istifadə edir.
Universal Links — Apple-ın domeninizi mobil tətbiqlə əlaqələndirən texnologiyasıdır. apple-app-site-association (AASA) faylı https://your-app.page.link/apple-app-site-association ünvanında serverə yüklənir. Firebase avtomatik olaraq Dynamic Links domeniniz üçün bu faylı yaradır və saxlayır. Xcode-da Associated Domains-i aktivləşdirmək və layihənin Capabilities bölməsində applinks:your-app.page.link göstərmək lazımdır.
iOS üçün Dynamic Links-in işlənməsi App Delegate və ya Scene Delegate-də Firebase SDK vasitəsilə həyata keçirilir. application:continueUserActivity: metodu daxil olan Universal Link-i tutur və onu Firebase Dynamic Links API-yə ötürür, o da hədəf linki və parametrləri çıxarır. Firebase SDK avtomatik olaraq Deferred Deep Links-i emal edir, Firebase Installation API-nin qısamüddətli yaddaşı vasitəsilə quraşdırma məlumatlarını sorğulayır.
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)
}
}
}
}
Android tətbiqində Kotlin-də Dynamic Link-in emalının tam nümunəsinə baxaq. MainActivity həm soyuq, həm də isti başlanğıcda daxil olan Dynamic Link-i oxuyur. Link naviqasiya üçün arqumentlər ötürülməklə müvafiq ekrana yönləndirmək üçün istifadə olunan parametrlərə bölünür. Nümunədə promosyon identifikatoru ilə aksiya səhifəsinə linkin emalı göstərilir.
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", "Linkin emalında xəta", e)
}
}
}
Dynamic Links-i test etmək üçün Firebase Console-dan istifadə olunur, orada test linki yaradıb mesajlaşma proqramı və ya e-poçt vasitəsilə cihaza göndərmək olar. Firebase Dynamics Links Debugger https://your-app.page.link/?d=1 URL-ində mövcuddur və linkin davranışı haqqında ətraflı məlumat göstərir. Deferred Deep Links-i test edərkən tətbiqin silindiyinə əmin olmaq lazımdır, quraşdırmadan sonra isə link ötürülən parametrlərlə düzgün ekrana aparmalıdır.
Tez-tez verilən suallar
Adi deep link-lər yalnız tətbiq quraşdırıldıqda işləyir və quraşdırmadan sonra konteksti qorumur. Dynamic Links Deferred Deep Linking-i dəstəkləyir — istifadəçi tətbiqi quraşdırır və dərhal saxlanmış link parametrləri ilə hədəf ekrana düşür.
Server tələb olunmur linklərin yaradılması və emalı üçün — bütün əməliyyatlar Firebase Console, REST API və ya klientdə Firebase SDK vasitəsilə yerinə yetirilir. Kütləvi link generasiyası üçün REST API tövsiyə olunur, konsol isə əl ilə yaratmaq üçün uyğundur.
Dynamic Links-in istifadə müddəti yoxdur — onlar əl ilə silinməyibsə, Firebase-də əbədi saxlanılır. UNIQUE suffiksli qısa linklər müddətsiz mövcuddur. Dəqiq atribusiya üçün hər kampaniya üçün unikal linklər yaratmaq tövsiyə olunur.
Dynamic Link-in emalı klik mərhələsində internet bağlantısı tələb edir, çünki Firebase serveri tətbiqin quraşdırma statusunu yoxlayır. Link emal edildikdən sonra məlumatlar intent və ya Universal Link vasitəsilə tətbiqə ötürülür və şəbəkə olmadan da əlçatan olur.
Firebase Dynamic Links pulsuzdur Spark planı çərçivəsində. Blaze planında əlavə ödənişsiz layihə üçün gündə 50K klik limiti var. Limitin aşılması növbəti günə qədər yeni linklərin yaradılmasını bloklayır.
Xülasə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun