Firebase Dynamic Links: ano ito, paano ito gumagana at ginagamit sa pagdevelop

May-akda: IT Sectr Nai-publish: 2026-05-14 Oras ng pagbabasa: 8 min

Ang Firebase Dynamic Links ay isang serbisyo ng Google para sa paggawa ng mga matatalinong link na nagdidirekta sa user sa tamang lugar sa application kahit naka-install man ang application o hindi. Ayon sa Firebase Documentation, awtomatikong nire-redirect ng Dynamic Links ang user sa App Store o Google Play kapag wala ang application at ibinabalik ang konteksto ng paglipat pagkatapos ng pag-install. Ang mga Smart-link ng Firebase ay lumulutas sa problema ng URL Scheme na hindi gumagana sa mga hindi naka-install na application.

Mga Pangunahing Punto

  • Firebase Dynamic Links — serbisyo ng Google para sa paggawa ng mga unibersal na link na gumagana sa iOS at Android na may suporta para sa deferred deep link.
  • Deferred — pangunahing bentahe: pinapanatili ng link ang konteksto ng paglipat kahit hindi naka-install ang application, at ibinabalik ito pagkatapos ng pag-install.
  • Analitika — awtomatikong sinusubaybayan ng Firebase ang mga paglipat sa pamamagitan ng Dynamic Links at nagbibigay ng data sa Firebase Analytics at Google Analytics.
  • Mga Platform — gumagana ang Dynamic Links sa iOS (sa pamamagitan ng Universal Links) at Android (sa pamamagitan ng App Links) na may iisang unibersal na link para sa parehong platform.
  • Paglikha — ang mga link ay nabubuo sa pamamagitan ng Firebase Console, REST API o SDK sa client na may pagsasaayos ng pag-uugali para sa bawat senaryo.

Firebase Dynamic Links ay isang cloud service mula sa Google na lumilikha ng pinag-isang unibersal na link para sa mga mobile application sa iOS at Android. Ang dynamic na link ay naglalaman ng malalim na link sa nilalaman sa loob ng application, ngunit kumikilos tulad ng isang ordinaryong HTTPS link: kung naka-install ang application, direktang binubuksan nito, kung hindi — nire-redirect sa app store.

Hindi tulad ng mga ordinaryong URL Scheme, ang Dynamic Links ay maaaring gumana sa mga hindi naka-install na application salamat sa deferred deep link technology. Kapag ini-install ng user ang application pagkatapos mag-click sa link, sine-save ng Firebase ang mga parameter ng paglipat at ipinapasa ang mga ito sa unang paglunsad. Nagbubukas ito ng mga posibilidad para sa mga referral program, kampanya sa marketing at mga imbitasyon.

Pagkakaiba sa mga ordinaryong URL Scheme

Ang URL Scheme ay nangangailangan ng naka-install na application at walang karaniwang mekanismo ng fallback. Firebase Dynamic Links ay lumulutas sa problemang ito sa pamamagitan ng isang intermediary Firebase web service na tumutukoy sa status ng pag-install ng application sa device at nagruruta sa user nang tama. Ang isang link ay gumagana nang pareho sa parehong platform.

Ang Firebase Dynamic Link ay gumagamit ng domain na may anyong yourcode.page.link, na naka-register sa Firebase Console. Kapag ang user ay nag-navigate sa pamamagitan ng naturang link, tinutukoy ng Firebase ang uri ng device at status ng pag-install ng application. Para sa iOS ginagamit ang Universal Links mechanism, para sa Android — App Links na may awtomatikong pag-verify sa pamamagitan ng Digital Asset Links.

Ang proseso ng pagproseso ay may kasamang ilang magkakasunod na yugto: sa pag-click sa link, ang browser ay nagpapadala ng GET request sa Firebase server, tinutukoy ng server ang platform at sinusuri ang presensya ng application sa device. Kung naka-install ang application — bubuo ng redirect sa Universal Link o Intent na may mga parameter para buksan ang target na screen. Kung hindi naka-install ang application — redirect sa App Store o Google Play para sa pag-download.

Lifecycle ng Dynamic Link

Natatanggap ng application ang link sa yugto ng pagsisimula ng Firebase SDK. Ang pamamaraang getDynamicLink() ay nagbabalik ng PendingResult na may data tungkol sa paglipat. Pagkatapos ng matagumpay na pagtanggap, mula sa link ay kinukuha ang mga parameter ng deep link, UTM tags para sa analitika at arbitraryong data na ipinadala sa paglikha ng link.

Ang Firebase Console ay nagbibigay ng visual na interface para sa paglikha ng Dynamic Links. Tinutukoy ng developer ang malalim na link (deep link URL), pangalan ng kampanya, mga setting para sa iOS at Android nang hiwalay, pati na rin ang mga parameter ng analitika. Pagkatapos ng paglikha, ang Firebase ay bumubuo ng maikling link na may anyong https://yourcode.page.link/abc123, na maaaring gamitin sa mga materyales sa advertising, mga email campaign at social media.

Para sa programmatic na paglikha ng Dynamic Links, ginagamit ang Firebase REST API o client SDK. Ang REST API ay nagbibigay-daan sa maramihang pagbuo ng mga link para sa mga kampanya sa marketing na may mga custom na parameter, kabilang ang link para sa social media at asynchronous na analitika ng paglipat. Sa paglikha ng mga link sa pamamagitan ng API, mahalagang tukuyin nang tama ang mga parameter ng socialMetaTagInfo — tinutukoy ng mga ito kung paano ipinapakita ang link kapag ibinabahagi sa mga messenger at social network na may preview card.

Mga Parameter ng Dynamic Link

ParameterLayuninSapilitan
Deep Link URLPanloob na link sa nilalaman ng applicationOo
iOS Bundle IDIdentification ng application sa App StorePara sa iOS
Android Package NamePangalan ng package sa Google PlayPara sa Android
Fallback URLWeb page kapag wala ang applicationHindi
UTM tagsMga parameter para sa Google AnalyticsHindi

Para magtrabaho sa Firebase Dynamic Links sa iOS, kailangang ikonekta ang Firebase SDK sa pamamagitan ng CocoaPods o Swift Package Manager, i-configure ang Info.plist na may GOOGLE_APP_ID at irehistro ang domain ng Dynamic Links sa Associated Domains ng proyekto. Pagkatapos nito, awtomatikong pinoproseso ng application ang Universal Links na nabuo ng Firebase.

Sa Xcode, kailangang idagdag ang capability Associated Domains na may entry na may anyong applinks:yourcode.page.link. Gumagamit ang Firebase SDK ng pamamaraang application(_:continue:restorationHandler:) para sa pagproseso ng Universal Links, kaya hindi kailangan ang karagdagang integrasyon sa AppDelegate — awtomatikong kinukuha ng Firebase ang mga parameter ng Dynamic Link mula sa User Activity.

Pagsasaayos sa Xcode

Halimbawa ng pagsasaayos ng Info.plist para sa tamang pagsisimula ng Firebase at pagrehistro ng handler ng Dynamic Links. Ang key na FIROptions ay dapat maglaman ng identification ng proyekto mula sa GoogleService-Info.plist.

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

Kung naka-disable ang AppDelegate proxy, kailangang manu-manong tawagin ang pamamaraang handleUniversalLink(_:) at ipasa ang User Activity mula sa continue NSUserActivity. Awtomatikong kinukuha ng Firebase SDK ang mga parameter ng link at ibinabalik ang DynamicLink sa pamamagitan ng completion handler.

Sa Android, ang integrasyon ng Firebase Dynamic Links ay nagsisimula sa pagdaragdag ng mga dependency sa build.gradle at file na google-services.json mula sa Firebase Console. Ang domain ng Dynamic Links ay nire-register sa Firebase Console, pagkatapos ang lahat ng link na may domain na ito ay awtomatikong nakikilala ng Android application sa pamamagitan ng Intent Filter na may action na VIEW. Para sa tamang paggana, kailangan ding idagdag ang Google Services plugin sa root at module build.gradle at gawin ang Gradle synchronization.

Para sa tamang pagproseso ng mga link sa Android, kailangang magdagdag ng Intent Filter para sa domain ng Dynamic Links sa Activity na dapat tumanggap ng mga papasok na link. Ang filter ay dapat maglaman ng https scheme, host ng iyong domain ng Dynamic Links at default na path.

Intent Filter para sa Dynamic Links

Halimbawa ng Intent Filter sa AndroidManifest.xml para sa pagtanggap ng Dynamic Links sa domain na yourcode.page.link.

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>

Mahalagang itakda ang launchMode sa singleTask para sa Activity na tumatanggap ng Dynamic Links. Ito ay pumipigil sa paglikha ng bagong instance ng Activity sa paulit-ulit na pag-navigate sa pamamagitan ng link at nagbibigay-daan sa tamang pagproseso ng lahat ng papasok na deep link sa isang instance.

Ang Firebase SDK para sa Android ay nagbibigay ng pamamaraang FirebaseDynamicLinks.getInstance().getDynamicLink(intent), na nagbabalik ng PendingTask object na may data tungkol sa link. Mula sa DynamicLink object ay kinukuha ang malalim na URI, UTM parameters at timestamp ng paglipat. Ang pagproseso ay inirerekomendang gawin sa mga pamamaraang onCreate() at onNewIntent() ng Activity.

Sa pagproseso, mahalagang isaalang-alang na ang Dynamic Link ay maaaring matanggap pareho sa pagsisimula ng application mula sa malamig na estado (cold start) at sa paglipat mula sa ibang application patungo sa isang application na tumatakbo na. Para sa pangalawang kaso, kailangang i-override ang onNewIntent() at muling tawagin ang pagsusuri ng Dynamic Link.

Pagproseso sa Kotlin code

Halimbawa ng pagtanggap at pagproseso ng Firebase Dynamic Link sa MainActivity. Pinoproseso ng code ang parehong cold start at paglipat mula sa ibang application.

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

Ang pamamaraang addOnSuccessListener ay nagbabalik ng DynamicLink, kung saan kinukuha ang target na link sa pamamagitan ng link?.link. Kung ang listener ay nagbalik ng null, nangangahulugan ito na ang Intent ay hindi naglalaman ng Dynamic Link — ito ay normal na pagsisimula ng application nang walang papasok na link. Available din ang mga UTM tag para sa analitika ng paglipat, kabilang ang campaign, medium, source at content, na maaaring ipasa sa Google Analytics para sa detalyadong pagsusuri ng epektibo ng bawat channel ng marketing.

Mga Madalas Itanong

Paano naiiba ang Firebase Dynamic Links sa ordinaryong deep link?

Sinusuportahan ng Firebase Dynamic Links ang deferred deep link — pinapanatili ng link ang konteksto kahit hindi naka-install ang application. Pagkatapos ng pag-install, natatanggap ng application ang lahat ng parameter ng paglipat, na imposible sa ordinaryong URL Scheme o Universal Links.

Kailangan bang magbayad para sa Firebase Dynamic Links?

Ang Firebase Dynamic Links ay kasama sa libreng plano ng taripa na Firebase Spark. Walang limitasyon sa bilang ng mga link na maaaring likhain. Gayunpaman, mula noong 2024 ay inanunsyo ng Google ang paglipat sa bagong imprastraktura, kaya maaaring magbago ang mga kondisyon.

Maaari bang gamitin ang Dynamic Links sa isang web application?

Ang Dynamic Links ay idinisenyo para sa mga mobile application. Kapag nag-access mula sa isang web browser sa desktop, bubuksan ng link ang fallback URL. Para sa mga web application, gumamit ng ordinaryong link o sarili mong lohika ng pag-redirect.

Paano subukan ang Dynamic Links sa yugto ng pagdevelop?

Ang Firebase Console ay nagbibigay ng button na Test Dynamic Link para sa preview ng pag-uugali. Maaari ka ring gumamit ng Android emulator o iOS simulator na may naka-install na Firebase SDK para sa lokal na pagsubok ng lahat ng senaryo ng paglipat.

Ilang character ang maaaring taglayin ng Dynamic Link?

Ang maikling Firebase Dynamic Link ay binubuo ng domain na page.link at random na suffix na humigit-kumulang 7 character ang haba. Ang kabuuang haba ay humigit-kumulang 30 character. Ang deep link sa loob ay maaaring anumang haba, ngunit inirerekomenda na limitahan ito sa 2 KB para sa compatibility.

Buod

  • Firebase Dynamic Links — pinag-isang unibersal na link mula sa Google para sa iOS at Android na may suporta para sa deferred deep link.
  • Prinsipyo ng paggana — ang link ay dumadaan sa Firebase server na tumutukoy sa device at status ng pag-install ng application para sa tamang pagruruta.
  • Deferred — pangunahing bentahe: ang mga parameter ng paglipat ay nai-save at naibabalik pagkatapos ng pag-install ng application mula sa store.
  • Paglikha — ang mga link ay nabubuo sa pamamagitan ng Firebase Console, REST API o client SDK na may pagsasaayos ng mga parameter para sa bawat platform.
  • Integrasyon sa iOS — nangangailangan ng Associated Domains sa Xcode at Firebase SDK; pagproseso sa pamamagitan ng Universal Links at pamamaraang continue UserActivity.
  • Integrasyon sa Android — nangangailangan ng Intent Filter sa manifest na may action na VIEW at domain ng Dynamic Links, at Firebase SDK sa build.gradle.
  • Analitika — awtomatikong sinusubaybayan ng Firebase ang mga paglipat sa pamamagitan ng Dynamic Links na may suporta para sa UTM tag para sa Google Analytics.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din