Firebase Dynamic Links: nədir, necə işləyir və inkişafda istifadə olunur

Müəllif: IT Sectr Dərc olunub: 2026-05-14 Oxuma vaxtı: 8 dəq

Firebase Dynamic Links — bu, istifadəçini tətbiqin quraşdırılıb-quraşdırılmamasından asılı olmayaraq tətbiqin istənilən yerinə yönləndirən ağıllı linklər yaratmaq üçün Google xidmətidir. Firebase Documentation-a görə, Dynamic Links tətbiq olmadıqda istifadəçini avtomatik olaraq App Store və ya Google Play-ə yönləndirir və quraşdırmadan sonra keçid kontekstini bərpa edir. Firebase-in Smart-linkləri quraşdırılmamış tətbiqlərlə işləməyən URL Scheme problemini həll edir.

Başlıca məqamlar

  • Firebase Dynamic Links — deferred deep link dəstəyi ilə iOS və Android-də işləyən universal linklər yaratmaq üçün Google xidməti.
  • Deferred — əsas üstünlük: link tətbiq quraşdırılmasa belə keçid kontekstini qoruyur və quraşdırmadan sonra bərpa edir.
  • Analitika — Firebase Dynamic Links üzrə keçidləri avtomatik izləyir və Firebase Analytics və Google Analytics-də məlumat təqdim edir.
  • Platformalar — Dynamic Links hər iki platforma üçün vahid universal linklə iOS-da (Universal Links vasitəsilə) və Android-də (App Links vasitəsilə) işləyir.
  • Yaradılma — linklər Firebase Console, REST API və ya müştəri tərəfində SDK vasitəsilə hər ssenari üçün davranışı konfiqurasiya etməklə yaradılır.

Firebase Dynamic Links — bu, iOS və Android üçün mobil tətbiqlər üçün vahid universal linklər yaradan Google-dan bulud xidmətidir. Dinamik link tətbiq daxilindəki məzmun üçün dərin link ehtiva edir, lakin adi HTTPS linki kimi davranır: tətbiq quraşdırılıbsa, onu birbaşa açır, yoxsa — tətbiq mağazasına yönləndirir.

Adi URL Scheme-lərdən fərqli olaraq, Dynamic Links deferred deep link texnologiyası sayəsində quraşdırılmamış tətbiqlərlə işləyə bilir. İstifadəçi link vasitəsilə keçdikdən sonra tətbiqi quraşdırdıqda, Firebase keçid parametrlərini saxlayır və ilk işə salınmada ötürür. Bu, referal proqramları, marketinq kampaniyaları və dəvətlər üçün imkanlar açır.

Adi URL Scheme-lərdən fərqi

URL Scheme quraşdırılmış tətbiq tələb edir və standart fallback mexanizminə malik deyil. Firebase Dynamic Links bu problemi cihazda tətbiqin quraşdırma statusunu müyyənləşdirən və istifadəçini düzgün yönləndirən aralıq Firebase veb xidməti vasitəsilə həll edir. Bir link hər iki platformada eyni şəkildə işləyir.

Firebase Dynamic Link Firebase Console-da qeydiyyatdan keçirilən yourcode.page.link formasında domendən istifadə edir. İstifadəçi belə bir link vasitəsilə keçdikdə, Firebase cihaz növünü və tətbiqin quraşdırma statusunu müyyənləşdirir. iOS üçün Universal Links mexanizmi, Android üçün isə Digital Asset Links vasitəsilə avtomatik yoxlama ilə App Links istifadə olunur.

Emal prosesi bir neçə ardıcıl mərhələni əhatə edir: link vasitəsilə keçid zamanı brauzer Firebase serverinə GET sorğusu göndərir, server platformanı müyyənləşdirir və cihazda tətbiqin olub-olmadığını yoxlayır. Tətbiq quraşdırılıbsa — hədəf ekranı açmaq üçün parametrlərlə Universal Link və ya Intent-ə yönləndirmə yaradılır. Tətbiq quraşdırılmayıbsa — yükləmə üçün App Store və ya Google Play-ə yönləndirmə aparılır.

Dynamic Link-in həyat dövranı

Tətbiq linki Firebase SDK-nın başladılması mərhələsində alır. getDynamicLink() metodu keçid haqqında məlumatlarla PendingResult qaytarır. Uğurla alındıqdan sonra linkdən deep link parametrləri, analitika üçün UTM etiketləri və linkin yaradılması zamanı ötürülən ixtiyari məlumatlar çıxarılır.

Firebase Console Dynamic Links yaratmaq üçün vizual interfeys təqdim edir. Tərtibatçı dərin linki (deep link URL), kampaniyanın adını, iOS və Android üçün ayrıca parametrləri və analitika parametrlərini göstərir. Yaradıldıqdan sonra Firebase https://yourcode.page.link/abc123 formasında qısa link yaradır ki, bu da reklam materiallarında, e-poçt göndərişlərində və sosial şəbəkələrdə istifadə oluna bilər.

Proqram vasitəsilə Dynamic Links yaratmaq üçün Firebase REST API və ya müştəri SDK-sı istifadə olunur. REST API sosial şəbəkələr üçün link və keçid analitikası daxil olmaqla fərdi parametrlərlə marketinq kampaniyaları üçün kütləvi link yaratmağa imkan verir. API vasitəsilə linklər yaradarkən socialMetaTagInfo parametrlərini düzgün göstərmək vacibdir — onlar linkin mesajlaşma tətbiqlərində və sosial şəbəkələrdə ön izlemə kartı ilə necə göstəriləcəyini müyyənləşdirir.

Dynamic Link parametrləri

ParametrTəyinatMəcburilik
Deep Link URLTətbiq məzmununa daxili linkBəli
iOS Bundle IDApp Store-da tətbiqin identifikatoruiOS üçün
Android Package NameGoogle Play-də paket adıAndroid üçün
Fallback URLTətbiq olmadıqda veb səhifəXeyr
UTM etiketləriGoogle Analytics üçün parametrlərXeyr

iOS-da Firebase Dynamic Links ilə işləmək üçün CocoaPods və ya Swift Package Manager vasitəsilə Firebase SDK-nı qoşmaq, Info.plist-i GOOGLE_APP_ID ilə konfiqurasiya etmək və layihənin Associated Domains bölməsində Dynamic Links domenini qeydiyyatdan keçirmək tələb olunur. Bundan sonra tətbiq Firebase tərəfindən yaradılan Universal Links-i avtomatik emal edir.

Xcode-da applinks:yourcode.page.link formasında Associated Domains imkanını əlavə etmək lazımdır. Firebase SDK Universal Links-in işlənməsi üçün application(_:continue:restorationHandler:) metodundan istifadə edir, buna görə AppDelegate ilə əlavə inteqrasiya tələb olunmur — Firebase avtomatik olaraq User Activity-dən Dynamic Link parametrlərini çıxarır.

Xcode-da quraşdırma

Firebase-in düzgün başladılması və Dynamic Links handlerinin qeydiyyatı üçün Info.plist konfiqurasiyası nümunəsi. FIROptions açarı GoogleService-Info.plist layihə identifikatorunu ehtiva etməlidir.

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

AppDelegate proksi söndürülübsə, handleUniversalLink(_:) metodunu əl ilə çağırmaq və continue NSUserActivity-dən User Activity ötürmək lazımdır. Firebase SDK avtomatik olaraq link parametrlərini çıxarır və completion handler vasitəsilə DynamicLink qaytarır.

Android-də Firebase Dynamic Links inteqrasiyası build.gradle-də asılılıqların və Firebase Console-dan google-services.json faylının əlavə edilməsi ilə başlayır. Dynamic Links domeni Firebase Console-da qeydiyyatdan keçirilir, bundan sonra bu domenli bütün linklər VIEW aksiyası ilə Intent Filter vasitəsilə Android tətbiqi tərəfindən avtomatik tanınır. Düzgün işləmək üçün kök və modul build.gradle-ə Google Services plagini əlavə etmək və Gradle sinxronizasiyasını yerinə yetirmək lazımdır.

Android-də linklərin düzgün emalı üçün daxil olan linkləri qəbul etməli olan Activity-ə Dynamic Links domeni üçün Intent Filter əlavə etmək lazımdır. Filter https sxemi, Dynamic Links domeninizin hostu və standart yolu ehtiva etməlidir.

Dynamic Links üçün Intent Filter

AndroidManifest.xml-də yourcode.page.link domenində Dynamic Links qəbul etmək üçün Intent Filter nümunəsi.

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 qəbul edən Activity üçün launchMode singleTask təyin etmək vacibdir. Bu, link vasitəsilə təkrar keçid zamanı yeni Activity nömunəsinin yaradılmasının qarşısını alır və bütün daxil olan deep linklərin bir nömunədə düzgün emal edilməsinə imkan verir.

Android üçün Firebase SDK link haqqında məlumatlarla PendingTask obyekti qaytaran FirebaseDynamicLinks.getInstance().getDynamicLink(intent) metodunu təqdim edir. DynamicLink obyektindən dərin URI, UTM parametrləri və keçid vaxtı damğası çıxarılır. Emalın Activity-nin onCreate() və onNewIntent() metodlarında aparılması tövsiyə olunur.

Emal zamanı Dynamic Link-in həm soyuq başlatma (cold start) zamanı, həm də artıq işləyən tətbiqə başqa tətbiqdən keçid zamanı alına biləcəyini nəzərə almaq vacibdir. İkinci halda onNewIntent()-ə yenidən tətbiq etmək və Dynamic Link yoxlamasını təkrarlamaq lazımdır.

Kotlin kodunda emal

MainActivity-də Firebase Dynamic Link-in alınması və emalı nümunəsi. Kod həm cold start, həm də başqa tətbiqdən keçidi emal edir.

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 metodu DynamicLink qaytarır, ondan hədəf link link?.link vasitəsilə çıxarılır. Listener null qaytarırsa, Intent-də Dynamic Link yoxdur — bu, daxil olan link olmadan normal tətbiq başlatmasıdır. Həmçinin campaign, medium, source və content daxil olmaqla keçid analitikası üçün UTM etiketləri mövcuddur ki, bunlar hər bir marketinq kanalının effektivliyini ətraflı qiymətləndirmək üçün Google Analytics-ə ötürülə bilər.

Tez-tez verilən suallar

Firebase Dynamic Links adi deep link-dən nə ilə fərqlənir?

Firebase Dynamic Links deferred deep link dəstəkləyir — link tətbiq quraşdırılmasa belə konteksti qoruyur. Quraşdırmadan sonra tətbiq bütün keçid parametrlərini alır ki, bu da adi URL Scheme və ya Universal Links ilə mümkün deyil.

Firebase Dynamic Links üçün ödəmə etmək lazımdır?

Firebase Dynamic Links pulsuz Firebase Spark tarif planına daxildir. Yaradılan linklərin sayı məhdud deyil. Lakin 2024-cü ildən etibarən Google yeni infrastruktura keçidi elan edib, buna görə şərtlər dəyişə bilər.

Dynamic Links veb tətbiqdə istifadə oluna bilərmi?

Dynamic Links mobil tətbiqlər üçün nəzərdə tutulub. Masaüstü brauzerdən keçid zamanı link fallback URL açacaq. Veb tətbiqlər üçün adi linklərdən və ya öz yönləndirmə məntiqinizdən istifadə edin.

Inkişaf mərhələsində Dynamic Links-i necə test etmək olar?

Firebase Console davranışı öncədən görmək üçün Test Dynamic Link düyməsini təqdim edir. Bütün keçid ssenarilərini lokal test etmək üçün quraşdırılmış Firebase SDK ilə Android emulyatoru və ya iOS simulatorundan da istifadə edə bilərsiniz.

Dynamic Link neçə simvol ehtiva edə bilər?

Firebase Dynamic Link-in qısa linki page.link domenindən və təxminən 7 simvoldan ibarət təsadüfi şəkilçidən ibarətdir. Ümumi uzunluq təxminən 30 simvoldur. Daxildəki deep link istənilən uzunluqda ola bilər, lakin uyğunluq üçün onu 2 KB ilə məhdudlaşdırmaq tövsiyə olunur.

Nəticə

  • Firebase Dynamic Links — deferred deep link dəstəyi ilə iOS və Android üçün Google-dan vahid universal linklər.
  • İşləmə prinsipi — link düzgün yönləndirmə üçün cihazı və tətbiqin quraşdırma statusunu müyyənləşdirən Firebase serverindən keçir.
  • Deferred — əsas üstünlük: keçid parametrləri mağazadan tətbiq quraşdırıldıqdan sonra saxlanılır və bərpa edilir.
  • Yaradılma — linklər Firebase Console, REST API və ya müştəri SDK-sı vasitəsilə hər platforma üçün parametrlər konfiqurasiya etməklə yaradılır.
  • iOS inteqrasiyası — Xcode-da Associated Domains və Firebase SDK təlɛ edir; Universal Links və continue UserActivity metodu vasitəsilə emal.
  • Android inteqrasiyası — manifestdə VIEW aksiyası və Dynamic Links domeni ilə Intent Filter, build.gradle-də Firebase SDK təlɛ edir.
  • Analitika — Firebase Google Analytics üçün UTM etiketləri dəstəyi ilə Dynamic Links üzrə keçidləri avtomatik izləyir.

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.

Layihəni müzakirə et

Həm də oxuyun