Firebase Dynamic Links — bu Google-ning foydalanuvchini mobil ilova ichidagi kerakli joyga yoki veb-saytga olib boradigan aqlli havolalarni yaratish xizmati, qurilmada ilova o'rnatilganligiga qarab. Dynamic Links o'tish kontekstini hatto ilova do'konidan o'rnatilgandan keyin birinchi ishga tushirishda ham saqlaydi. Firebase Documentation, 2026 ma'lumotlariga ko'ra, dinamik havolalar yagona APIda qayta ishlanadi, avtomatik ravishda xatti-harakatni aniqlaydi: ilovani ochish, saytga o'tish yoki ilovani o'rnatish. Xizmat referal dasturlar, onboarding stsenariylari va marketing kampaniyalari uchun ajralmas hisoblanadi.
Asosiy fikrlar
Firebase Dynamic Links — bu Google-ning mobil ilova yoki veb-saytda kerakli tarkibga olib boradigan yagona havolani yaratadigan, platforma va o'rnatish holatiga qarab xatti-harakatni moslashtiradigan texnologiyasi. Havola qurilmada ilova o'rnatilganligini tekshiradi: agar o'rnatilgan bo'lsa — parametrlarni uzatish bilan ochadi, aks holda — o'rnatish uchun Google Play yoki App Store-ga yo'naltiradi, o'rnatishdan keyin esa maqsadli ekranga yo'naltiradi.
Dynamic Links-ning oddiy deep havolalarga nisbatan asosiy ustunligi kechiktirilgan chuqur havolalarni qo'llab-quvvatlashidir. Deferred Deep Linking deganda o'tish konteksti (havola parametrlari) ilova hali o'rnatilmagan bo'lsa ham saqlanadi. Foydalanuvchi ilovani do'kondan o'rnatganda, Dynamic Links SDK saqlangan kontekstni o'qiydi va uni tegishli ekranga uzatadi. Ushbu texnologiyasiz foydalanuvchi o'rnatishdan keyin oddiygina asosiy ekranga tushib, promo-kodni, taklifnomani yoki muayyan buyurtma havolasini yo'qotgan bo'lar edi.
Dynamic Links taklif qiluvchining hisobiga bog'langan holda yangi foydalanuvchilarni jalb qilish uchun referal dasturlarida qo'llaniladi. Marketing kampaniyalari elektron pochta xabarnomalari va ijtimoiy tarmoqlardan o'tishlar bilan konversiyani aniq o'lchash uchun Dynamic Links-dan foydalanadi. Onboarding stsenariylarida havola yangi foydalanuvchini shaxsiylashtirilgan tarkib bilan kutib olish ekraniga olib boradi. E-tijoratda mahsulot havolalari kontekstni saqlaydi va o'rnatishdan keyin birinchi ishga tushirishda ham mahsulot kartasiga olib boradi.
Ishlash mexanizmi Dynamic Links bir necha bosqichdan iborat, ularning har biri ilova holatiga qarab farq qilishi mumkin. Foydalanuvchi dinamik havolani bosganida, brauser Firebase serveriga so'rov yuboradi. Firebase intent-filter yoki universal link tekshiruvi orqali ilova o'rnatilganligini tekshiradi. Agar ilova o'rnatilgan bo'lsa, Firebase uni chuqur havolani uzatish bilan ochadi. Aks holda — do'kon sahifasiga yoki veb-versiyaga yo'naltiradi.
Standart Dynamic Link asosiy URL, havola parametrlari va ixtiyoriy marketing teglaridan iborat. Asosiy URL — Firebase Console-da ro'yxatdan o'tgan your-app.page.link domenidir. Chuqur havola parametrlari so'rov parametrlari orqali belgilanadi: link (ilova ichidagi maqsadli URL), apn (Android Package Name), ibi (iOS Bundle ID), st va sd (ijtimoiy oldindan ko'rish uchun sarlavha va tavsif). utm_source, utm_medium, utm_campaign marketing teglari kuzatish uchun Google Analytics-ga uzatiladi.
| Parametr | Tavsif | Misol |
|---|---|---|
| link | Maqsadli chuqur havola | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Ijtimoiy sarlavha | Maxsus taklif |
| sd | Ijtimoiy tavsif | Birinchi buyurtmaga 30% chegirma |
Firebase Console Engage > Dynamic Links bo'limida havolalar yaratish uchun vizual interfeysni taqdim etadi. Konsolda chuqur havola, veb-xatti-harakat, ijtimoiy metama'lumotlar va UTM teglari kabi barcha havola parametrlarini o'rnatish mumkin. Havola yaratilgandan so'ng, konsol tayyor URL, shuningdek bosish va o'tishlar statistikasini taqdim etadi. Ommaviy havola yaratish uchun OAuth 2.0 autentifikatsiyasi bilan Firebase Dynamic Links REST API-dan foydalaniladi.
Dasturiy Dynamic Links yaratish uchun Firebase Dynamic Links API-ga POST so'rovi yuboriladi. So'rov tanasi chuqur havola parametrlari, platforma sozlamalari va ijtimoiy metama'lumotlar bilan dynamicLinkInfo ni o'z ichiga oladi. API https://your-app.page.link/abc123 ko'rinishidagi tayyor URL-ni qaytaradi. Uzoq muddatli havolalar uchun suffix.option = UNIQUE ishlatiladi — noyob suffiksli qisqa havolalar. Vaqtinchalik havolalar uchun — SHORT, to'qnashuv ehtimoli bilan.
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: "Yozgi aksiya",
socialDescription: "Oy oxirigacha 50% gacha chegirma"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links avtomatik ravishda domendan keyin 6–8 belgi uzunligidagi qisqa URL-larni yaratadi, bu ularni SMS va ijtimoiy tarmoqlarda ishlatishga yaroqli qiladi. UTM parametrlari utmParameters maydoni yoki to'g'ridan-to'g'ri link parametri orqali qo'shiladi. Firebase avtomatik ravishda Dynamic Links bosishlarini Firebase uchun Google Analytics bilan bog'laydi, bu esa referal trafik va kampaniya atributsiyasini kuzatish imkonini beradi.
Android-da Dynamic Links sozlamalari Firebase SDK-ni qo'shish, chuqur havolalarni qabul qiladigan faoliyat uchun intent-filter sozlash va Firebase Dynamic Links SDK orqali havolalarni qayta ishlashni o'z ichiga oladi. SDK o'rnatilgandan va google-services.json qo'shilgandan so'ng, AndroidManifest.xml-da ilova domenidan havolalarni qayta ishlash uchun intent-filter bilan faoliyatni ro'yxatdan o'tkazish kerak.
Dynamic Links-ni qayta ishlaydigan faoliyat VIEW harakati va DEFAULT va BROWSABLE toifalari uchun intent-filter-ga ega bo'lishi kerak. AndroidManifest.xml chuqur havolangizga mos keladigan android:scheme, android:host va android:pathPrefix bilan data tegini o'z ichiga oladi. Page.link domenidagi havolalarni qayta ishlash uchun https sxemasi va Dynamic Links domeningiz hosti bilan intent-filter ham qo'shiladi.
<!-- 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 sozlangandan so'ng, faoliyat kodida kiruvchi Dynamic Link-ni qayta ishlash kerak. FirebaseDynamicLinks API intent-dan havolani oladi va ajratilgan parametrlar bilan PendingDynamicLinkData obyektini qaytaradi. getLink metodi navigatsiya uchun tahlil qilinishi mumkin bo'lgan maqsadli chuqur havolani qaytaradi. Havolani sovuq ishga tushirishda (onCreate-dagi getIntent orqali) ham, issiq ishga tushirishda (onNewIntent orqali) ham qayta ishlash muhimdir.
iOS-da Dynamic Links sozlamalari ham Firebase tomonida, ham Xcode loyihasida konfiguratsiyani talab qiladi. Firebase Console-da APNs kalitini yuklash, Swift Package Manager yoki CocoaPods orqali Firebase SDK qo'shish va Universal Links-ni qayta ishlash uchun App Delegate-ni sozlash kerak. iOS-da Dynamic Links brauzer va ilova o'rtasida oraliq sahifasiz shaffof o'tish uchun Universal Links-dan foydalanadi.
Universal Links — bu Apple-ning domeningizni mobil ilova bilan bog'laydigan texnologiyasi. apple-app-site-association (AASA) fayli https://your-app.page.link/apple-app-site-association manzilida serverga yuklanadi. Firebase avtomatik ravishda Dynamic Links domeningiz uchun ushbu faylni yaratadi va saqlaydi. Xcode-da Associated Domains-ni yoqish va loyihaning Capabilities qismida applinks:your-app.page.link ko'rsatish kerak.
iOS uchun Dynamic Links-ni qayta ishlash App Delegate yoki Scene Delegate-da Firebase SDK orqali amalga oshiriladi. application:continueUserActivity: metodi kiruvchi Universal Link-ni tutadi va uni Firebase Dynamic Links API-ga uzatadi, u maqsadli havola va parametrlarni ajratib oladi. Firebase SDK avtomatik ravishda Deferred Deep Links-ni qayta ishlaydi, Firebase Installation API-ning qisqa muddatli saqlash joyi orqali o'rnatish ma'lumotlarini so'raydi.
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 ilovasida Kotlin-da Dynamic Link-ni qayta ishlashning to'liq misolini ko'rib chiqamiz. MainActivity sovuq va issiq ishga tushirishda kiruvchi Dynamic Link-ni o'qiydi. Havola argumentlarni uzatish bilan tegishli ekranga navigatsiya qilish uchun ishlatiladigan parametrlarga ajratiladi. Misolda promosiya identifikatori bilan aksiya sahifasiga havolani qayta ishlash ko'rsatilgan.
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", "Havolani qayta ishlashda xato", e)
}
}
}
Dynamic Links-ni test qilish uchun Firebase Console-dan foydalaniladi, u yerda test havolasini yaratib, messenjer yoki elektron pochta orqali qurilmaga yuborish mumkin. Firebase Dynamics Links Debugger https://your-app.page.link/?d=1 URL-da mavjud va havolaning xatti-harakati haqida batafsil ma'lumotni ko'rsatadi. Deferred Deep Links-ni test qilishda ilova o'chirilganligiga ishonch hosil qilish kerak, o'rnatishdan keyin esa havola uzatilgan parametrlar bilan to'g'ri ekranga olib borishi kerak.
Tez-tez beriladigan savollar
Oddiy deep havolalar faqat ilova o'rnatilganida ishlaydi va o'rnatishdan keyin kontekstni saqlamaydi. Dynamic Links Deferred Deep Linking-ni qo'llab-quvvatlaydi — foydalanuvchi ilovani o'rnatadi va darhol saqlangan havola parametrlari bilan maqsadli ekranga tushadi.
Server talab qilinmaydi havolalarni yaratish va qayta ishlash uchun — barcha operatsiyalar Firebase Console, REST API yoki mijozda Firebase SDK orqali amalga oshiriladi. Ommaviy havola yaratish uchun REST API tavsiya etiladi, konsol esa qo'lda yaratish uchun mos keladi.
Dynamic Links muddati tugamaydi — ular qo'lda o'chirilmasa, Firebase-da abadiy saqlanadi. UNIQUE suffiksli qisqa havolalar muddatsiz mavjud. Aniq atributsiya uchun har bir kampaniya uchun noyob havolalar yaratish tavsiya etiladi.
Dynamic Link-ni qayta ishlash bosish bosqichida internet ulanishini talab qiladi, chunki Firebase serveri ilova o'rnatilganlik holatini tekshiradi. Havola qayta ishlangandan so'ng, ma'lumotlar intent yoki Universal Link orqali ilovaga uzatiladi va tarmoqsiz ham mavjud bo'ladi.
Firebase Dynamic Links bepul Spark plani doirasida. Blaze planida qo'shimcha to'lovsiz loyiha uchun kuniga 50K bosish limiti mavjud. Limitdan oshib ketish yangi havolalar yaratilishini keyingi kungacha bloklaydi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.