Firebase Dynamic Links: τι είναι, δημιουργία συνδέσμων και ενσωμάτωση

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-29 Χρόνος ανάγνωσης: 9 λεπ

Το Firebase Dynamic Links είναι η υπηρεσία της Google για τη δημιουργία έξυπνων συνδέσμων που οδηγούν τον χρήστη στο σωστό σημείο μέσα στην εφαρμογή κινητού ή στον ιστότοπο, ανάλογα με το αν η εφαρμογή είναι εγκατεστημένη στη συσκευή. Τα Dynamic Links διατηρούν το περιβάλλον της μετάβασης ακόμα και κατά την πρώτη εκκίνηση μετά την εγκατάσταση από το κατάστημα εφαρμογών. Σύμφωνα με το Firebase Documentation, 2026, οι δυναμικοί σύνδεσμοι υποβάλλονται σε επεξεργασία σε ένα ενιαίο API που καθορίζει αυτόματα τη συμπεριφορά: άνοιγμα της εφαρμογής, μετάβαση στον ιστότοπο ή εγκατάσταση της εφαρμογής. Η υπηρεσία είναι απαραίτητη για προγράμματα παραπομπής, σενάρια υποδοχής και εκστρατείες μάρκετινγκ.

Βασικά σημεία

  • Dynamic Links — έξυπνοι σύνδεσμοι που καθορίζουν αυτόματα αν πρέπει να εγκατασταθεί η εφαρμογή ή να ανοίξει η ήδη εγκατεστημένη στη σωστή οθόνη.
  • Deferred Deep Linking — διατήρηση του περιβάλλοντος μετάβασης κατά την πρώτη εκκίνηση μετά την εγκατάσταση: ο χρήστης βλέπει την οθόνη-στόχο, όχι την κύρια οθόνη.
  • Τομέας συνδέσμων — προσαρμοσμένος τομέας της μορφής your-app.page.link που μπορεί να επωνυμιοποιηθεί στο Firebase Console.
  • Επεξεργασία από την πλευρά του πελάτη — οι σύνδεσμοι υποβάλλονται σε επεξεργασία μέσω Firebase Dynamic Links SDK για Android και iOS με μεταβίβαση ορισμάτων στο intent ή στο scene.
  • Αναλυτικά στοιχεία — το Firebase συλλέγει αυτόματα στατιστικά κλικ, εγκαταστάσεων και μεταβάσεων μέσω Dynamic Links.

Το Firebase Dynamic Links είναι η τεχνολογία της Google που δημιουργεί έναν ενιαίο σύνδεσμο που οδηγεί στο επιθυμητό περιεχόμενο στην εφαρμογή κινητού ή στον ιστότοπο, προσαρμόζοντας τη συμπεριφορά ανάλογα με την πλατφόρμα και την κατάσταση εγκατάστασης. Ο σύνδεσμος ελέγχει αν η εφαρμογή είναι εγκατεστημένη στη συσκευή: αν ναι — την ανοίγει με μεταβίβαση παραμέτρων, αν όχι — κατευθύνει στο Google Play ή στο App Store για εγκατάσταση και μετά την εγκατάσταση ανακατευθύνει στην οθόνη-στόχο.

Βασικό χαρακτηριστικό: Deferred Deep Linking

Το κύριο πλεονέκτημα των Dynamic Links σε σύγκριση με τους συνηθισμένους deep links είναι η υποστήριξη για αναβαλλόμενους βαθιούς συνδέσμους. Το Deferred Deep Linking σημαίνει ότι το περιβάλλον μετάβασης (παράμετροι συνδέσμου) διατηρείται ακόμα κι αν η εφαρμογή δεν είναι ακόμα εγκατεστημένη. Όταν ο χρήστης εγκαθιστά την εφαρμογή από το κατάστημα, το Dynamic Links SDK διαβάζει το αποθηκευμένο περιβάλλον και το μεταφέρει στην κατάλληλη οθόνη. Χωρίς αυτήν την τεχνολογία, ο χρήστης μετά την εγκατάσταση θα κατέληγε απλά στην κύρια οθόνη, χάνοντας τον προωθητικό κωδικό, την πρόσκληση ή τον σύνδεσμο προς μια συγκεκριμένη παραγγελία.

Τομείς εφαρμογής

Τα Dynamic Links χρησιμοποιούνται σε προγράμματα παραπομπής για την προσέλκυση νέων χρηστών με σύνδεση στον λογαριασμό του καλούντος. Εκστρατείες μάρκετινγκ με μεταβάσεις από ενημερωτικά δελτία ηλεκτρονικού ταχυδρομείου και μέσα κοινωνικής δικτύωσης χρησιμοποιούν Dynamic Links για την ακριβή μέτρηση της μετατροπής. Σε σενάρια υποδοχής, ο σύνδεσμος οδηγεί τον νέο χρήστη σε μια οθόνη υποδοχής με εξατομικευμένο περιεχόμενο. Στο ηλεκτρονικό εμπόριο, οι σύνδεσμοι προϊόντων διατηρούν το περιβάλλον και οδηγούν στην κάρτα προϊόντος ακόμα και κατά την πρώτη εκκίνηση μετά την εγκατάσταση.

Ο μηχανισμός λειτουργίας των Dynamic Links αποτελείται από διάφορα στάδια, καθένα από τα οποία μπορεί να διαφέρει ανάλογα με την κατάσταση της εφαρμογής. Όταν ο χρήστης κάνει κλικ σε έναν δυναμικό σύνδεσμο, το πρόγραμμα περιήγησης στέλνει ένα αίτημα στον διακομιστή Firebase. Το Firebase ελέγχει αν η εφαρμογή είναι εγκατεστημένη μέσω ελέγχου intent-filter ή universal link. Εάν η εφαρμογή είναι εγκατεστημένη, το Firebase την ανοίγει μεταβιβάζοντας τον βαθύ σύνδεσμο. Εάν όχι — ανακατευθύνει στη σελίδα του καταστήματος ή στην έκδοση ιστού.

Ανατομία ενός δυναμικού συνδέσμου

Ένας τυπικός Dynamic Link αποτελείται από ένα βασικό URL, παραμέτρους συνδέσμου και προαιρετικές ετικέτες μάρκετινγκ. Το βασικό URL είναι ένας τομέας της μορφής your-app.page.link, καταχωρημένος στο Firebase Console. Οι παράμετροι βαθέων συνδέσμων ορίζονται μέσω παραμέτρων ερωτήματος: link (URL-στόχος εντός της εφαρμογής), apn (Android Package Name), ibi (iOS Bundle ID), st και sd (τίτλος και περιγραφή για την προεπισκόπηση στα μέσα κοινωνικής δικτύωσης). Οι ετικέτες μάρκετινγκ utm_source, utm_medium, utm_campaign μεταβιβάζονται στο Google Analytics για παρακολούθηση.

ΠαράμετροςΠεριγραφήΠαράδειγμα
linkΒαθύς σύνδεσμος-στόχοςhttps://yourapp.page.link/product/123
apnAndroid Package Namecom.example.myapp
ibiiOS Bundle IDcom.example.myapp.ios
stΤίτλος κοινωνικής δικτύωσηςΕιδική προσφορά
sdΠεριγραφή κοινωνικής δικτύωσηςΈκπτωση 30% στην πρώτη παραγγελία

Το Firebase Console παρέχει μια οπτική διεπαφή για τη δημιουργία Dynamic Links στην ενότητα Engage > Dynamic Links. Στην κονσόλα μπορούν να οριστούν όλες οι παράμετροι συνδέσμου, συμπεριλαμβανομένου του βαθέος συνδέσμου, της συμπεριφοράς στον ιστό, των μεταδεδομένων κοινωνικής δικτύωσης και των ετικετών UTM. Μετά τη δημιουργία του συνδέσμου, η κονσόλα παρέχει ένα έτοιμο URL καθώς και στατιστικά κλικ και μεταβάσεων. Για μαζική δημιουργία συνδέσμων χρησιμοποιείται το REST API Firebase Dynamic Links με έλεγχο ταυτότητας OAuth 2.0.

Δημιουργία συνδέσμου μέσω REST API

Για προγραμματική δημιουργία Dynamic Links χρησιμοποιείται ένα αίτημα POST προς το Firebase Dynamic Links API. Το σώμα του αιτήματος περιέχει dynamicLinkInfo με παραμέτρους βαθέος συνδέσμου, ρυθμίσεις πλατφόρμας και μεταδεδομένα κοινωνικής δικτύωσης. Το API επιστρέφει ένα έτοιμο URL της μορφής https://your-app.page.link/abc123. Για συνδέσμους μεγάλης διάρκειας χρησιμοποιείται suffix.option = UNIQUE — σύντομοι σύνδεσμοι με μοναδικό επίθημα. Για προσωρινούς συνδέσμους — SHORT, με πιθανότητα συγκρούσεων.

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: "Θερινή προσφορά",
            socialDescription: "Εκπτώσεις έως 50% έως το τέλος του μήνα"
        }
    },
    suffix: { option: "UNIQUE" }
}

axios.post(apiUrl, data)
    .then(res => console.log(res.data.shortLink))
    .catch(err => console.error(err))

Σύντομοι σύνδεσμοι και ετικέτες UTM

Τα Dynamic Links δημιουργούν αυτόματα σύντομα URL με μήκος 6–8 χαρακτήρων μετά τον τομέα, καθιστώντας τα κατάλληλα για χρήση σε SMS και μέσα κοινωνικής δικτύωσης. Οι παράμετροι UTM προστίθενται μέσω του πεδίου utmParameters ή απευθείας στην παράμετρο συνδέσμου. Το Firebase συνδέει αυτόματα τα κλικ Dynamic Links με το Google Analytics για Firebase, επιτρέποντας την παρακολούθηση της κυκλοφορίας παραπομπής και της απόδοσης εκστρατειών.

Ενσωμάτωση Dynamic Links στο Android

Η διαμόρφωση Dynamic Links στο Android περιλαμβάνει την προσθήκη Firebase SDK, τη διαμόρφωση intent-filter για τη δραστηριότητα που λαμβάνει βαθείς συνδέσμους και την επεξεργασία συνδέσμων μέσω Firebase Dynamic Links SDK. Μετά την εγκατάσταση του SDK και την προσθήκη του google-services.json, η δραστηριότητα πρέπει να καταχωρηθεί στο AndroidManifest.xml με intent-filter για την επεξεργασία συνδέσμων από τον τομέα της εφαρμογής.

Διαμόρφωση intent-filter στο AndroidManifest

Η δραστηριότητα που επεξεργάζεται Dynamic Links πρέπει να έχει intent-filter για την ενέργεια VIEW και τις κατηγορίες DEFAULT και BROWSABLE. Το AndroidManifest.xml περιέχει μια ετικέτα data με android:scheme, android:host και android:pathPrefix που αντιστοιχούν στον βαθύ σύνδεσμο. Για την επεξεργασία συνδέσμων από τον τομέα page.link, προστίθεται επίσης intent-filter με σχήμα https και host του τομέα Dynamic Links.

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>

Επεξεργασία συνδέσμου στον κώδικα

Μετά τη διαμόρφωση του intent-filter, ο εισερχόμενος Dynamic Link πρέπει να υποβληθεί σε επεξεργασία στον κώδικα της δραστηριότητας. Το FirebaseDynamicLinks API λαμβάνει τον σύνδεσμο από το intent και επιστρέφει ένα αντικείμενο PendingDynamicLinkData με εξαγόμενες παραμέτρους. Η μέθοδος getLink επιστρέφει τον βαθύ σύνδεσμο-στόχο που μπορεί να αναλυθεί και να χρησιμοποιηθεί για πλοήγηση. Είναι σημαντικό να γίνεται επεξεργασία του συνδέσμου τόσο κατά την ψυχρή εκκίνηση (μέσω getIntent στο onCreate) όσο και κατά τη θερμή εκκίνηση (μέσω onNewIntent).

Ενσωμάτωση Dynamic Links στο iOS

Η διαμόρφωση Dynamic Links στο iOS απαιτεί διαμόρφωση τόσο στην πλευρά του Firebase όσο και στο έργο Xcode. Το κλειδί APNs πρέπει να μεταφορτωθεί στο Firebase Console, να προστεθεί το Firebase SDK μέσω Swift Package Manager ή CocoaPods και να διαμορφωθεί το App Delegate για την επεξεργασία Universal Links. Τα Dynamic Links στο iOS χρησιμοποιούν Universal Links για απρόσκοπτη μετάβαση μεταξύ προγράμματος περιήγησης και εφαρμογής χωρίς ενδιάμεση σελίδα.

Διαμόρφωση Universal Links

Τα Universal Links είναι η τεχνολογία της Apple που συνδέει τον τομέα σας με την εφαρμογή κινητού. Το αρχείο apple-app-site-association (AASA) φορτώνεται στον διακομιστή στη διεύθυνση https://your-app.page.link/apple-app-site-association. Το Firebase δημιουργεί και διατηρεί αυτόματα αυτό το αρχείο για τον τομέα Dynamic Links σας. Στο Xcode, πρέπει να ενεργοποιηθούν τα Associated Domains και να καθοριστεί το applinks:your-app.page.link στα Capabilities του έργου.

Επεξεργασία συνδέσμου μέσω Firebase SDK

Για iOS, η επεξεργασία Dynamic Links πραγματοποιείται μέσω Firebase SDK στο App Delegate ή στο Scene Delegate. Η μέθοδος application:continueUserActivity: αναχαιτίζει τον εισερχόμενο Universal Link και τον μεταβιβάζει στο Firebase Dynamic Links API, το οποίο εξάγει τον σύνδεσμο-στόχο και τις παραμέτρους. Το Firebase SDK επεξεργάζεται αυτόματα τα Deferred Deep Links, ζητώντας δεδομένα εγκατάστασης μέσω της βραχυπρόθεσμης αποθήκευσης Firebase Installation API.

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

Ας δούμε ένα πλήρες παράδειγμα επεξεργασίας Dynamic Link σε εφαρμογή Android σε Kotlin. Η MainActivity διαβάζει τον εισερχόμενο Dynamic Link τόσο κατά την ψυχρή όσο και κατά τη θερμή εκκίνηση της εφαρμογής. Ο σύνδεσμος αναλύεται σε παραμέτρους που χρησιμοποιούνται για πλοήγηση στην κατάλληλη οθόνη με μεταβίβαση ορισμάτων. Το παράδειγμα δείχνει την επεξεργασία συνδέσμου προς τη σελίδα προώθησης με το αναγνωριστικό προώθησης.

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", "Σφάλμα επεξεργασίας συνδέσμου", e)
            }
    }
}

Δοκιμή Dynamic Links

Για τη δοκιμή Dynamic Links χρησιμοποιείται το Firebase Console, όπου μπορεί να δημιουργηθεί ένας δοκιμαστικός σύνδεσμος και να σταλεί στη συσκευή μέσω messenger ή email. Το Firebase Dynamics Links Debugger είναι διαθέσιμο στη διεύθυνση URL https://your-app.page.link/?d=1 και εμφανίζει λεπτομερείς πληροφορίες σχετικά με τη συμπεριφορά του συνδέσμου. Κατά τη δοκιμή Deferred Deep Links, πρέπει να βεβαιωθείτε ότι η εφαρμογή έχει αφαιρεθεί και μετά την εγκατάσταση ο σύνδεσμος οδηγεί στη σωστή οθόνη με τις μεταβιβαζόμενες παραμέτρους.

Συχνές ερωτήσεις

Ποια είναι η διαφορά μεταξύ Dynamic Links και συνηθισμένων deep links;

Οι συνηθισμένοι deep links λειτουργούν μόνο όταν η εφαρμογή είναι εγκατεστημένη και δεν διατηρούν το περιβάλλον μετά την εγκατάσταση. Τα Dynamic Links υποστηρίζουν Deferred Deep Linking — ο χρήστης εγκαθιστά την εφαρμογή και κατευθύνεται αμέσως στην οθόνη-στόχο με τις αποθηκευμένες παραμέτρους συνδέσμου.

Χρειάζεται διακομιστής για τη λειτουργία των Dynamic Links;

Δεν απαιτείται διακομιστής για τη δημιουργία και επεξεργασία συνδέσμων — όλες οι λειτουργίες εκτελούνται μέσω Firebase Console, REST API ή Firebase SDK στον πελάτη. Για μαζική δημιουργία συνδέσμων συνιστάται το REST API, αλλά η κονσόλα είναι κατάλληλη για μη αυτόματη δημιουργία.

Πόσο διαρκεί ένα Dynamic Link;

Τα Dynamic Links δεν έχουν ημερομηνία λήξης — αποθηκεύονται στο Firebase για πάντα εάν δεν διαγραφούν χειροκίνητα. Οι σύντομοι σύνδεσμοι με επίθημα UNIQUE υπάρχουν επ' αόριστον. Συνιστάται η δημιουργία μοναδικών συνδέσμων για κάθε εκστρατεία για ακριβή απόδοση.

Λειτουργούν τα Dynamic Links χωρίς διαδίκτυο;

Για την επεξεργασία Dynamic Link απαιτείται σύνδεση στο διαδίκτυο στο στάδιο του κλικ, καθώς ο διακομιστής Firebase ελέγχει την κατάσταση εγκατάστασης της εφαρμογής. Μετά την επεξεργασία του συνδέσμου, τα δεδομένα μεταβιβάζονται στην εφαρμογή μέσω intent ή Universal Link και γίνονται διαθέσιμα και χωρίς δίκτυο.

Πόσο κοστίζουν τα Firebase Dynamic Links;

Τα Firebase Dynamic Links είναι δωρεάν στο πλαίσιο του προγράμματος Spark. Στο πρόγραμμα Blaze ισχύει όριο 50 χιλιάδων κλικ την ημέρα ανά έργο χωρίς επιπλέον χρέωση. Η υπέρβαση του ορίου αποκλείει τη δημιουργία νέων συνδέσμων μέχρι την επόμενη ημέρα.

Περίληψη

  • Firebase Dynamic Links — έξυπνοι σύνδεσμοι που οδηγούν τον χρήστη στην εφαρμογή ή στον ιστότοπο και ελλείψει εφαρμογής στο κατάστημα, με διατήρηση του περιβάλλοντος μετά την εγκατάσταση.
  • Deferred Deep Linking — το βασικό πλεονέκτημα που επιτρέπει τη μεταβίβαση περιβάλλοντος (προωθητικός κωδικός, πρόσκληση, σύνδεσμος προϊόντος) κατά την πρώτη εκκίνηση μετά την εγκατάσταση.
  • Δομή συνδέσμου περιλαμβάνει τον βασικό τομέα (your-app.page.link), παραμέτρους βαθέος συνδέσμου, ρυθμίσεις πλατφόρμας και μεταδεδομένα κοινωνικής δικτύωσης για προεπισκόπηση.
  • Δημιουργία συνδέσμων πραγματοποιείται μέσω Firebase Console, REST API ή Firebase SDK με υποστήριξη για ετικέτες UTM για ενσωμάτωση με το Google Analytics.
  • Ενσωμάτωση στο Android απαιτεί διαμόρφωση intent-filter στο AndroidManifest και επεξεργασία μέσω FirebaseDynamicLinks API με υποστήριξη ψυχρής και θερμής εκκίνησης.
  • Ενσωμάτωση στο iOS χρησιμοποιεί Universal Links με αρχείο AASA, Associated Domains και επεξεργασία μέσω DynamicLinks SDK στο AppDelegate ή SceneDelegate.
  • Δωρεάν έως 50 χιλιάδες κλικ την ημέρα, χωρίς λήξη συνδέσμων, με δυνατότητα δημιουργίας προσαρμοσμένου τομέα για επωνυμιοποίηση συνδέσμων.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης