Firebase Dynamic Links: nima, qanday ishlaydi va rivojlanishda qo'llaniladi

Muallif: IT Sectr Nashr etilgan: 2026-05-14 O'qish vaqti: 8 daq

Firebase Dynamic Links — bu Google'ning aqlli havolalar yaratish xizmati bo'lib, ular foydalanuvchini ilova o'rnatilganmi yoki yo'qmi, ilovaning kerakli joyiga yo'naltiradi. Firebase Documentation ma'lumotlariga ko'ra, Dynamic Links ilova mavjud bo'lmaganda foydalanuvchini avtomatik ravishda App Store yoki Google Play'ga yo'naltiradi va o'rnatishdan keyin o'tish kontekstini tiklaydi. Firebase'ning Smart-havolalari o'rnatilmagan ilovalar bilan ishlamaydigan URL Scheme muammosini hal qiladi.

Asosiy ma'lumotlar

  • Firebase Dynamic Links — iOS va Android'da deferred deep link qo'llab-quvvatlashi bilan ishlaydigan universal havolalar yaratish uchun Google xizmati.
  • Deferred — asosiy afzallik: havola ilova o'rnatilmagan bo'lsa ham o'tish kontekstini saqlaydi va o'rnatishdan keyin tiklaydi.
  • Analitika — Firebase Dynamic Links orqali o'tishlarni avtomatik kuzatadi va Firebase Analytics va Google Analytics'da ma'lumotlarni taqdim etadi.
  • Platformalar — Dynamic Links iOS'da (Universal Links orqali) va Android'da (App Links orqali) ikkala platforma uchun yagona universal havola bilan ishlaydi.
  • Yaratish — havolalar Firebase Console, REST API yoki mijob SDK orqali har bir stsenariy uchun xatti-harakatni sozlash bilan yaratiladi.

Firebase Dynamic Links — bu iOS va Android'da mobil ilovalar uchun yagona universal havolalar yaratadigan Google'ning bulut xizmati. Dinamik havola ilova ichidagi tarkibga chuqur havolani o'z ichiga oladi, lekin oddiy HTTPS havolasi kabi ishlaydi: agar ilova o'rnatilgan bo'lsa, uni to'g'ridan-to'g'ri ochadi, aks holda ilovalar do'koniga yo'naltiradi.

Oddiy URL Schemelardan farqli o'laroq, Dynamic Links deferred deep link texnologiyasi tufayli o'rnatilmagan ilovalar bilan ishlashi mumkin. Foydalanuvchi havola orqali o'tgandan keyin ilovani o'rnatganda, Firebase o'tish parametrlarini saqlaydi va birinchi ishga tushirishda ularni uzatadi. Bu referal dasturlar, marketing kampaniyalari va taklifnomalar uchun imkoniyatlar ochadi.

Oddiy URL Schemelardan farqi

URL Schemalar o'rnatilgan ilovani talab qiladi va standart qayta yo'naltirish mexanizmiga ega emas. Firebase Dynamic Links bu muammoni qurilmada ilovaning o'rnatilish holatini aniqlaydigan va foydalanuvchini to'g'ri yo'naltiradigan vositachi Firebase veb xizmati orqali hal qiladi. Bitta havola ikkala platformada bir xil ishlaydi.

Firebase Dynamic Link Firebase Console'da ro'yxatdan o'tkaziladigan yourcode.page.link shaklidagi domendan foydalanadi. Foydalanuvchi bunday havola orqali o'tganda, Firebase qurilma turini va ilovaning o'rnatilish holatini aniqlaydi. iOS uchun Universal Links mexanizmi, Android uchun Digital Asset Links orqali avtomatik tekshirish bilan App Links ishlatiladi.

Qayta ishlash jarayoni bir necha ketma-ket bosqichlarni o'z ichiga oladi: havola orqali o'tishda brauzer Firebase serveriga GET so'rovi yuboradi, server platformani aniqlaydi va qurilmada ilova mavjudligini tekshiradi. Agar ilova o'rnatilgan bo'lsa — maqsadli ekranni ochish uchun parametrlar bilan Universal Link yoki Intent'ga yo'naltirish yaratiladi. Agar ilova o'rnatilmagan bo'lsa — yuklab olish uchun App Store yoki Google Play'ga yo'naltirish amalga oshiriladi.

Dynamic Link'ning hayot aylanishi

Ilova havolani Firebase SDK'ni ishga tushirish bosqichida oladi. getDynamicLink() metodi o'tish haqidagi ma'lumotlar bilan PendingResult qaytaradi. Muvaffaqiyatli qabul qilingandan so'ng, havoladan deep link parametrlari, analitika uchun UTM teglari va havola yaratish vaqtida uzatilgan ixtiyoriy ma'lumotlar chiqariladi.

Firebase Console Dynamic Links yaratish uchun vizual interfeysni taqdim etadi. Dasturchi chuqur havolani (deep link URL), kampaniya nomini, iOS va Android uchun alohida sozlamalarni hamda analitika parametrlarini belgilaydi. Yaratilgandan so'ng, Firebase https://yourcode.page.link/abc123 shaklida qisqa havola yaratadi, undan reklama materiallarida, elektron pochta xabarlarida va ijtimoiy tarmoqlarda foydalanish mumkin.

Dasturiy ravishda Dynamic Links yaratish uchun Firebase REST API yoki mijob SDK ishlatiladi. REST API ijtimoiy tarmoqlar uchun havola va o'tishlarning asinxron analitikasini o'z ichiga olgan holda marketing kampaniyalari uchun moslashtirilgan parametrlar bilan ommaviy havola yaratish imkonini beradi. API orqali havolalar yaratishda socialMetaTagInfo parametrlarini to'g'ri ko'rsatish muhim — ular havola messenjerlar va ijtimoiy tarmoqlarda oldindan ko'rish kartasi bilan uzatilganda qanday ko'rinishini aniqlaydi.

Dynamic Link parametrlari

ParametrVazifasiMajburiyligi
Deep Link URLIlova tarkibiga ichki havolaHa
iOS Bundle IDApp Store'dagi ilova identifikatoriiOS uchun
Android Package NameGoogle Play'dagi paket nomiAndroid uchun
Fallback URLIlova mavjud bo'lmaganda veb sahifaYo'q
UTM teglariGoogle Analytics uchun parametrlarYo'q

iOS'da Firebase Dynamic Links bilan ishlash uchun Firebase SDK'ni CocoaPods yoki Swift Package Manager orqali ulash, Info.plist'ni GOOGLE_APP_ID bilan sozlash va loyihaning Associated Domains'ida Dynamic Links domenini ro'yxatdan o'tkazish talab qilinadi. Shundan so'ng, ilova Firebase tomonidan yaratilgan Universal Links'larni avtomatik qayta ishlaydi.

Xcode'da applinks:yourcode.page.link shaklida Associated Domains imkoniyatini qo'shish kerak. Firebase SDK Universal Links'larni qayta ishlash uchun application(_:continue:restorationHandler:) metodidan foydalanadi, shuning uchun AppDelegate bilan qo'shimcha integratsiya talab qilinmaydi — Firebase User Activity'dan Dynamic Link parametrlarini avtomatik chiqaradi.

Xcode'da sozlash

Firebase'ni to'g'ri ishga tushirish va Dynamic Links handlerini ro'yxatdan o'tkazish uchun Info.plist sozlash namunasi. FIROptions kaliti GoogleService-Info.plist loyiha identifikatorini o'z ichiga olishi kerak.

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

Agar AppDelegate proksi o'chirilgan bo'lsa, handleUniversalLink(_:) metodini qo'lda chaqirish va continue NSUserActivity'dan User Activity'ni uzatish kerak. Firebase SDK havola parametrlarini avtomatik chiqaradi va completion handler orqali DynamicLink qaytaradi.

Android'da Firebase Dynamic Links integratsiyasi build.gradle'ga bog'liqliklarni va Firebase Console'dan google-services.json faylini qo'shish bilan boshlanadi. Dynamic Links domeni Firebase Console'da ro'yxatdan o'tkaziladi, shundan so'ng bu domenli barcha havolalar VIEW harakati bilan Intent Filter orqali Android ilovasi tomonidan avtomatik tan olinadi. To'g'ri ishlash uchun ildiz va modul build.gradle'ga Google Services plaginini qo'shish va Gradle sinxronizatsiyasini amalga oshirish kerak.

Android'da havolalarni to'g'ri qayta ishlash uchun kiruvchi havolalarni qabul qilishi kerak bo'lgan Activity'ga Dynamic Links domeni uchun Intent Filter qo'shish kerak. Filter https sxemasi, Dynamic Links domeningizning hosti va standart yo'lni o'z ichiga olishi kerak.

Dynamic Links uchun Intent Filter

AndroidManifest.xml'da yourcode.page.link domenida Dynamic Links qabul qilish uchun Intent Filter namunasi.

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>

Dynamic Links qabul qiladigan Activity uchun launchMode singleTask qilib belgilash muhim. Bu havola orqali takroriy o'tishda yangi Activity nusxasining yaratilishining oldini oladi va barcha kiruvchi deep link'larni bitta nusxada to'g'ri qayta ishlash imkonini beradi.

Android uchun Firebase SDK havola haqidagi ma'lumotlar bilan PendingTask obyektini qaytaradigan FirebaseDynamicLinks.getInstance().getDynamicLink(intent) metodini taqdim etadi. DynamicLink obyektidan chuqur URI, UTM parametrlari va o'tish vaqti tamg'asi chiqariladi. Qayta ishlashni Activity'ning onCreate() va onNewIntent() metodlarida bajarish tavsiya etiladi.

Qayta ishlashda Dynamic Link sovuq ishga tushirish (cold start) paytida ham, allaqachon ishlayotgan ilovaga boshqa ilovadan o'tish paytida ham olinishi mumkinligini hisobga olish muhim. Ikkinchi holat uchun onNewIntent()'ni qayta yozish va Dynamic Link tekshiruvini qayta chaqirish kerak.

Kotlin kodida qayta ishlash

MainActivity'da Firebase Dynamic Link'ni olish va qayta ishlash namunasi. Kod sovuq ishga tushirishni ham, boshqa ilovadan o'tishni ham qayta ishlaydi.

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

addOnSuccessListener metodi DynamicLink qaytaradi, undan maqsadli havola link?.link orqali chiqariladi. Agar listener null qaytarsa, bu Intent tarkibida Dynamic Link yo'qligini anglatadi — bu kiruvchi havolasiz oddiy ilova ishga tushirilishi. Shuningdek, campaign, medium, source va contentni o'z ichiga olgan o'tish analitikasi uchun UTM teglari mavjud bo'lib, ularni har bir marketing kanalining samaradorligini batafsil baholash uchun Google Analytics'ga uzatish mumkin.

Tez-tez so'raladigan savollar

Firebase Dynamic Links oddiy deep link'dan qanday farq qiladi?

Firebase Dynamic Links deferred deep link qo'llab-quvvatlaydi — havola ilova o'rnatilmagan bo'lsa ham kontekstni saqlaydi. O'rnatishdan so'ng, ilova barcha o'tish parametrlarini oladi, bu oddiy URL Scheme yoki Universal Links bilan mumkin emas.

Firebase Dynamic Links uchun to'lash kerakmi?

Firebase Dynamic Links bepul Firebase Spark tarif rejasiga kiradi. Yaratiladigan havolalar soni cheklanmagan. Biroq, 2024 yildan boshlab Google yangi infratuzilmaga o'tishni e'lon qildi, shuning uchun shartlar o'zgarishi mumkin.

Dynamic Links veb-ilovada ishlatilishi mumkinmi?

Dynamic Links mobil ilovalar uchun mo'ljallangan. Ish stoli brauzeridan o'tishda havola qayta yo'naltirish URL'ini ochadi. Veb-ilovalar uchun oddiy havolalar yoki o'zingizning qayta yo'naltirish mantiqingizdan foydalaning.

Rivojlanish bosqichida Dynamic Links qanday sinab ko'riladi?

Firebase Console xatti-harakatni oldindan ko'rish uchun Test Dynamic Link tugmasini taqdim etadi. Shuningdek, barcha o'tish stsenariylarini mahalliy sinab ko'rish uchun o'rnatilgan Firebase SDK bilan Android emulyatori yoki iOS simulatoridan foydalanishingiz mumkin.

Dynamic Link nechta belgidan iborat bo'lishi mumkin?

Firebase Dynamic Link qisqa havolasi page.link domeni va taxminan 7 belgidan iborat tasodifiy qo'shimchadan iborat. Umumiy uzunlik taxminan 30 belgi. Ichidagi deep link istalgan uzunlikda bo'lishi mumkin, ammo muvofiqlik uchun uni 2 KB bilan cheklash tavsiya etiladi.

Xulosa

  • Firebase Dynamic Links — deferred deep link qo'llab-quvvatlashi bilan iOS va Android uchun Google'dan yagona universal havolalar.
  • Ishlash printsipi — havola to'g'ri yo'naltirish uchun qurilma va ilovani o'rnatish holatini aniqlaydigan Firebase serveridan o'tadi.
  • Deferred — asosiy afzallik: o'tish parametrlari do'kondan ilova o'rnatilgandan keyin saqlanadi va tiklanadi.
  • Yaratish — havolalar Firebase Console, REST API yoki mijob SDK orqali har bir platforma uchun parametrlarni sozlash bilan yaratiladi.
  • iOS integratsiyasi — Xcode'da Associated Domains va Firebase SDK talab qiladi; Universal Links va continue UserActivity metodi orqali qayta ishlash.
  • Android integratsiyasi — manifestda VIEW harakati va Dynamic Links domeni bilan Intent Filter, build.gradle'da Firebase SDK talab qiladi.
  • Analitika — Firebase Google Analytics uchun UTM teglari bilan Dynamic Links orqali o'tishlarni avtomatik kuzatadi.

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