Firebase Dynamic Links: nima, havolalarni yaratish va integratsiya

Muallif: IT Sectr Nashr etilgan: 2026-04-29 O'qish vaqti: 9 daq

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

  • Dynamic Links — ilovani o'rnatish yoki allaqachon o'rnatilgan ilovani kerakli ekranda ochish kerakligini avtomatik aniqlaydigan aqlli havolalar.
  • Deferred Deep Linking — o'rnatishdan keyin birinchi ishga tushirishda o'tish kontekstini saqlash: foydalanuvchi asosiy ekran o'rniga maqsadli ekranni ko'radi.
  • Havola domeni — Firebase Console-da brendlashtirilishi mumkin bo'lgan your-app.page.link ko'rinishidagi shaxsiy domen.
  • Mijoz tomonida qayta ishlash — havolalar Android va iOS uchun Firebase Dynamic Links SDK orqali intent yoki scene-ga argumentlarni uzatish bilan qayta ishlanadi.
  • Analitika — Firebase Dynamic Links orqali bosishlar, o'rnatishlar va o'tishlar bo'yicha statistikani avtomatik to'playdi.

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.

Asosiy xususiyat: Deferred Deep Linking

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.

Qo'llanish sohalari

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.

Dinamik havolaning anatomiyasi

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.

ParametrTavsifMisol
linkMaqsadli chuqur havolahttps://yourapp.page.link/product/123
apnAndroid Package Namecom.example.myapp
ibiiOS Bundle IDcom.example.myapp.ios
stIjtimoiy sarlavhaMaxsus taklif
sdIjtimoiy tavsifBirinchi 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.

REST API orqali havola yaratish

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.

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

Qisqa havolalar va UTM teglari

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.

Dynamic Links-ni Android-ga integratsiyasi

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.

AndroidManifest-da intent-filter sozlash

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.

xml
<!-- 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>

Kodda havolani qayta ishlash

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.

Dynamic Links-ni iOS-ga integratsiyasi

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 sozlamalari

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.

Firebase SDK orqali havolani qayta ishlash

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.

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

Kotlin-da amalga oshirish misoli

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.

kotlin
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

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

Dynamic Links oddiy deep havolalardan qanday farq qiladi?

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.

Dynamic Links ishlashi uchun server kerakmi?

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 Link qancha yashaydi?

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 Links internet siz ishlaydimi?

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 qancha turadi?

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

  • Firebase Dynamic Links — foydalanuvchini ilovaga yoki saytga olib boradigan, ilova bo'lmaganda esa o'rnatishdan keyin kontekstni saqlagan holda do'konga yo'naltiradigan aqlli havolalar.
  • Deferred Deep Linking — o'rnatishdan keyin birinchi ishga tushirishda kontekstni (promo-kod, taklifnoma, mahsulot havolasi) uzatish imkonini beradigan asosiy afzallik.
  • Havola tuzilishi asosiy domen (your-app.page.link), chuqur havola parametrlari, platforma sozlamalari va oldindan ko'rish uchun ijtimoiy metama'lumotlarni o'z ichiga oladi.
  • Havola yaratish Firebase Console, REST API yoki Firebase SDK orqali Google Analytics bilan integratsiya uchun UTM teglari yordamida amalga oshiriladi.
  • Android-ga integratsiya AndroidManifest-da intent-filter sozlash va sovuq/issiq ishga tushirishni qo'llab-quvvatlash bilan FirebaseDynamicLinks API orqali qayta ishlashni talab qiladi.
  • iOS-ga integratsiya AASA fayli, Associated Domains va AppDelegate yoki SceneDelegate-da DynamicLinks SDK orqali qayta ishlash bilan Universal Links-dan foydalanadi.
  • Bepul kuniga 50K bosishgacha, havolalarning muddati cheklanmagan, havolalarni brendlashtirish uchun shaxsiy domen yaratish imkoniyati.

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.

Loyihani muhokama qilish

Shuningdek o'qing