Firebase Dynamic Links হল Google-এর একটি পরিষেবা যা স্মার্ট লিঙ্ক তৈরি করে যা ব্যবহারকারীকে মোবাইল অ্যাপের ভিতরে সঠিক স্থানে বা ওয়েবসাইটে নিয়ে যায়, নির্ভর করে অ্যাপটি ডিভাইসে ইনস্টল করা আছে কিনা তার উপর। Dynamic Links অ্যাপ স্টোর থেকে ইনস্টলেশনের পর প্রথম লঞ্চেও ট্রানজিশন কনটেক্সট সংরক্ষণ করে। Firebase ডকুমেন্টেশন, 2026 অনুসারে, ডায়নামিক লিঙ্ক একটি একক API-তে প্রক্রিয়া করা হয় যা স্বয়ংক্রিয়ভাবে আচরণ নির্ধারণ করে: অ্যাপ খোলা, ওয়েবসাইটে যাওয়া বা অ্যাপ ইনস্টল করা। পরিষেবাটি রেফারেল প্রোগ্রাম, অনবোর্ডিং পরিস্থিতি এবং মার্কেটিং ক্যাম্পেইনের জন্য অপরিহার্য।
মূল পয়েন্ট
Firebase Dynamic Links হল Google-এর একটি প্রযুক্তি যা একটি একক লিঙ্ক তৈরি করে যা মোবাইল অ্যাপ বা ওয়েবসাইটে কাঙ্ক্ষিত কনটেন্টে নিয়ে যায়, প্ল্যাটফর্ম এবং ইনস্টলেশন অবস্থার উপর নির্ভর করে আচরণ অভিযোজিত করে। লিঙ্কটি পরীক্ষা করে দেখে অ্যাপটি ডিভাইসে ইনস্টল করা আছে কিনা: যদি হ্যাঁ — প্যারামিটার সহ অ্যাপ খোলে, যদি না — ইনস্টলেশনের জন্য Google Play বা App Store-এ রিডাইরেক্ট করে এবং ইনস্টলেশনের পর টার্গেট স্ক্রিনে রিডাইরেক্ট করে।
সাধারণ ডিপ লিঙ্কের তুলনায় Dynamic 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 |
| apn | Android প্যাকেজ নাম | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | সোশ্যাল শিরোনাম | বিশেষ অফার |
| sd | সোশ্যাল বিবরণ | প্রথম অর্ডারে 30% ছাড় |
Firebase Console Engage > Dynamic Links বিভাগে Dynamic Links তৈরি করার জন্য একটি ভিজুয়াল ইন্টারফেস প্রদান করে। কনসোলে, আপনি ডিপ লিঙ্ক, ওয়েব আচরণ, সোশ্যাল মেটাডেটা এবং UTM ট্যাগ সহ সমস্ত লিঙ্ক প্যারামিটার সেট করতে পারেন। লিঙ্ক তৈরি করার পর, কনসোল একটি প্রস্তুত URL সহ ক্লিক এবং ট্রানজিশনের পরিসংখ্যান প্রদান করে। বাল্ক লিঙ্ক তৈরির জন্য, OAuth 2.0 প্রমাণীকরণ সহ Firebase Dynamic Links REST API ব্যবহার করা হয়।
Dynamic Links-এর প্রোগ্রামেটিক তৈরির জন্য, Firebase Dynamic Links API-তে একটি POST অনুরোধ পাঠানো হয়। অনুরোধের বডিতে ডিপ লিঙ্ক প্যারামিটার, প্ল্যাটফর্ম সেটিংস এবং সোশ্যাল মেটাডেটা সহ dynamicLinkInfo থাকে। API https://your-app.page.link/abc123-এর মতো একটি প্রস্তুত URL ফেরত দেয়। দীর্ঘস্থায়ী লিঙ্কের জন্য, suffix.option = UNIQUE ব্যবহার করা হয় — ইউনিক সাফিক্স সহ ছোট লিঙ্ক। অস্থায়ী লিঙ্কের জন্য — SHORT, সম্ভাব্য সংঘর্ষ সহ।
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))
Dynamic Links স্বয়ংক্রিয়ভাবে ডোমেনের পরে 6–8 অক্ষরের ছোট URL তৈরি করে, যা এগুলিকে SMS এবং সোশ্যাল নেটওয়ার্কে ব্যবহারের উপযোগী করে তোলে। UTM প্যারামিটার utmParameters ফিল্ডের মাধ্যমে বা সরাসরি link প্যারামিটারে যোগ করা হয়। Firebase স্বয়ংক্রিয়ভাবে Dynamic Links-এ ক্লিককে Firebase-এর জন্য Google Analytics-এর সাথে লিঙ্ক করে, যা রেফারেল ট্রাফিক এবং ক্যাম্পেইন অ্যাট্রিবিউশন ট্র্যাক করতে দেয়।
Android-এ Dynamic Links সেট আপ করা এর মধ্যে Firebase SDK যোগ করা, ডিপ লিঙ্ক গ্রহণকারী activity-র জন্য intent-filter কনফিগার করা এবং Firebase Dynamic Links SDK-এর মাধ্যমে লিঙ্ক প্রক্রিয়া করা অন্তর্ভুক্ত। SDK ইনস্টল করার এবং google-services.json যোগ করার পর, আপনাকে আপনার অ্যাপের ডোমেন থেকে লিঙ্ক প্রক্রিয়া করার জন্য AndroidManifest.xml-এ intent-filter সহ activity নিবন্ধন করতে হবে।
Dynamic Links প্রক্রিয়া করা activity-তে VIEW অ্যাকশন এবং DEFAULT ও BROWSABLE ক্যাটাগরির জন্য intent-filter থাকতে হবে। AndroidManifest.xml আপনার ডিপ লিঙ্কের সাথে মিলে যাওয়া android:scheme, android:host এবং android:pathPrefix সহ data ট্যাগ অন্তর্ভুক্ত করে। page.link ডোমেন থেকে লিঙ্ক প্রক্রিয়া করার জন্য, https স্কিম এবং আপনার Dynamic Links ডোমেন হোস্ট সহ একটি intent-filter যোগ করা হয়।
<!-- 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 সেট করার পর, Activity কোডে ইনকামিং Dynamic Link প্রক্রিয়া করা প্রয়োজন। FirebaseDynamicLinks API intent থেকে লিঙ্ক গ্রহণ করে এবং নিষ্কাশিত প্যারামিটার সহ PendingDynamicLinkData অবজেক্ট ফেরত দেয়। getLink মেথড টার্গেট ডিপ লিঙ্ক ফেরত দেয়, যা পার্স করে নেভিগেশনের জন্য ব্যবহার করা যেতে পারে। কোল্ড স্টার্ট (onCreate-এ getIntent-এর মাধ্যমে) এবং হট স্টার্ট (onNewIntent-এর মাধ্যমে) উভয় ক্ষেত্রেই লিঙ্ক হ্যান্ডেল করা গুরুত্বপূর্ণ।
iOS-এ Dynamic Links সেট আপ করা Firebase পক্ষ এবং Xcode প্রজেক্ট উভয়েই কনফিগারেশন প্রয়োজন। আপনাকে Firebase Console-এ APNs কী আপলোড করতে হবে, Swift Package Manager বা CocoaPods-এর মাধ্যমে Firebase SDK যোগ করতে হবে এবং Universal Links হ্যান্ডেল করার জন্য App Delegate কনফিগার করতে হবে। iOS-এ Dynamic 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 নির্দিষ্ট করতে হবে।
iOS-এর জন্য, Dynamic Links প্রক্রিয়াকরণ App Delegate বা Scene Delegate-এ Firebase SDK-এর মাধ্যমে করা হয়। application:continueUserActivity: মেথড ইনকামিং Universal Link ইন্টারসেপ্ট করে এবং Firebase Dynamic Links API-তে পাস করে, যা টার্গেট লিঙ্ক এবং প্যারামিটার নিষ্কাশন করে। Firebase SDK স্বয়ংক্রিয়ভাবে Firebase Installation API স্বল্পমেয়াদী স্টোরেজের মাধ্যমে ইনস্টলেশন ডেটা অনুরোধ করে Deferred Deep Links হ্যান্ডেল করে।
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 ব্যবহার করে Android অ্যাপে Dynamic Link প্রক্রিয়াকরণের একটি সম্পূর্ণ উদাহরণ দেখি। MainActivity অ্যাপের কোল্ড এবং হট স্টার্ট উভয় ক্ষেত্রেই ইনকামিং Dynamic Link পড়ে। লিঙ্কটি প্যারামিটারে পার্স করা হয় যা আর্গুমেন্ট সহ কাঙ্ক্ষিত স্ক্রিনে নেভিগেশনের জন্য ব্যবহৃত হয়। উদাহরণটি একটি প্রোমো ক্যাম্পেইন আইডেন্টিফায়ার সহ প্রচার পৃষ্ঠার লিঙ্কের প্রক্রিয়াকরণ দেখায়।
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 পরীক্ষা করার জন্য, Firebase Console ব্যবহার করা হয়, যেখানে আপনি একটি টেস্ট লিঙ্ক তৈরি করে মেসেঞ্জার বা ইমেলের মাধ্যমে ডিভাইসে পাঠাতে পারেন। Firebase Dynamic Links Debugger https://your-app.page.link/?d=1-এ উপলব্ধ এবং লিঙ্কের আচরণ সম্পর্কে বিস্তারিত তথ্য প্রদর্শন করে। Deferred Deep Links পরীক্ষা করার সময়, নিশ্চিত করুন যে অ্যাপ আনইনস্টল করা আছে এবং ইনস্টলেশনের পর লিঙ্কটি পাস করা প্যারামিটার সহ সঠিক স্ক্রিনে নিয়ে যায়।
সচরাচর জিজ্ঞাসিত প্রশ্ন
সাধারণ ডিপ লিঙ্ক কেবল তখনই কাজ করে যখন অ্যাপ ইনস্টল করা থাকে এবং ইনস্টলেশনের পর কনটেক্সট সংরক্ষণ করে না। Dynamic Links Deferred Deep Linking সমর্থন করে — ব্যবহারকারী অ্যাপ ইনস্টল করে এবং সংরক্ষিত লিঙ্ক প্যারামিটার সহ সাথে সাথে টার্গেট স্ক্রিনে আসে।
লিঙ্ক তৈরি এবং প্রক্রিয়া করার জন্য সার্ভার প্রয়োজন নেই — সমস্ত অপারেশন Firebase Console, REST API বা Firebase SDK-এর মাধ্যমে ক্লায়েন্টে সঞ্চালিত হয়। বাল্ক লিঙ্ক জেনারেশনের জন্য REST API সুপারিশ করা হয়, তবে কনসোল ম্যানুয়াল তৈরির জন্য উপযুক্ত।
Dynamic Links-এর কোনো মেয়াদ শেষ হয় না — এগুলি Firebase-এ চিরকাল সংরক্ষিত থাকে যদি না ম্যানুয়ালি মুছে ফেলা হয়। UNIQUE সাফিক্স সহ ছোট লিঙ্কগুলি অনির্দিষ্টকালের জন্য বিদ্যমান থাকে। নির্ভুল অ্যাট্রিবিউশনের জন্য প্রতিটি ক্যাম্পেইনের জন্য ইউনিক লিঙ্ক তৈরি করার সুপারিশ করা হয়।
Dynamic Link প্রক্রিয়া করার জন্য ক্লিক পর্যায়ে ইন্টারনেট সংযোগ প্রয়োজন কারণ Firebase সার্ভার অ্যাপ ইনস্টলেশন অবস্থা পরীক্ষা করে। লিঙ্ক প্রক্রিয়া হওয়ার পর, ডেটা intent বা Universal Link-এর মাধ্যমে অ্যাপে পাঠানো হয় এবং অফলাইনেও উপলব্ধ হয়।
Firebase Dynamic Links Spark প্ল্যানে বিনামূল্যে। Blaze প্ল্যানে, অতিরিক্ত চার্জ ছাড়াই প্রতিদিন 50K ক্লিকের সীমা রয়েছে। সীমা অতিক্রম করলে পরের দিন পর্যন্ত নতুন লিঙ্ক তৈরি বন্ধ হয়ে যায়।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন