Firebase Dynamic Links Google کی ایک سروس ہے جو سمارٹ لنکس بناتی ہے جو صارف کو ایپلیکیشن میں صحیح جگہ لے جاتے ہیں خواہ ایپلیکیشن انسٹال ہو یا نہ ہو۔ Firebase دستاویزات کے مطابق، Dynamic Links خود بخود صارف کو App Store یا Google Play پر ری ڈائریکٹ کرتی ہیں اگر ایپلیکیشن انسٹال نہ ہو اور انسٹالیشن کے بعد منتقلی کا سیاق و سباق بحال کرتی ہیں۔ Firebase کے سمارٹ لنکس URL Scheme کے مسئلے کو حل کرتے ہیں، جو غیر انسٹال شدہ ایپلیکیشنز کے ساتھ کام نہیں کرتی۔
اہم نکات
Firebase Dynamic Links Google کی ایک کلاؤڈ سروس ہے جو iOS اور Android پر موبائل ایپس کے لیے متحد یونیورسل لنکس بناتی ہے۔ ایک ڈائنامک لنک میں ایپ کے اندر موجود مواد کا ڈیپ لنک ہوتا ہے لیکن یہ ایک عام HTTPS لنک کی طرح برتاؤ کرتا ہے: اگر ایپ انسٹال ہے تو یہ براہ راست کھلتی ہے؛ اگر نہیں ہے تو یہ ایپ اسٹور پر ری ڈائریکٹ کرتی ہے۔
عام URL Scheme کے برعکس، Dynamic Links ڈیفرڈ ڈیپ لنک ٹیکنالوجی کی بدولت غیر انسٹال شدہ ایپس کے ساتھ کام کر سکتی ہیں۔ جب کوئی صارف لنک پر کلک کرنے کے بعد ایپ انسٹال کرتا ہے، Firebase منتقلی کے پیرامیٹرز کو محفوظ کرتا ہے اور پہلی لانچ پر انہیں منتقل کرتا ہے۔ یہ ریفرل پروگرامز، مارکیٹنگ مہمات اور دعوتوں کے مواقع فراہم کرتا ہے۔
URL Scheme کے لیے ایپ کا انسٹال ہونا ضروری ہے اور ان کے پاس کوئی معیاری فال بیک میکانزم نہیں ہے۔ Firebase Dynamic Links ایک انٹرمیڈیٹ Firebase ویب سروس کے ذریعے اس مسئلے کو حل کرتی ہیں جو ڈیوائس پر ایپ کی انسٹالیشن کی حیثیت کا تعین کرتی ہے اور صارف کو صحیح طریقے سے روٹ کرتی ہے۔ ایک ہی وقت میں، ایک لنک دونوں پلیٹ فارمز پر یکساں کام کرتا ہے۔
Firebase Dynamic Link yourcode.page.link جیسے ڈومین کا استعمال کرتی ہے، جو Firebase Console میں رجسٹر ہوتا ہے۔ جب کوئی صارف اس طرح کے لنک پر کلک کرتا ہے، Firebase ڈیوائس کی قسم اور ایپ کی انسٹالیشن کی حیثیت کا تعین کرتا ہے۔ iOS کے لیے Universal Links میکانزم استعمال ہوتا ہے، Android کے لیے Digital Asset Links کے ذریعے خودکار تصدیق کے ساتھ App Links استعمال ہوتی ہے۔
پروسیسنگ میں کئی ترتیب وار مراحل شامل ہیں: لنک پر کلک کرنے پر، براؤزر Firebase سرور کو GET درخواست بھیجتا ہے؛ سرور پلیٹ فارم کا تعین کرتا ہے اور ڈیوائس پر ایپ کی موجودگی کی جانچ کرتا ہے۔ اگر ایپ انسٹال ہے تو ٹارگٹ اسکرین کھولنے کے لیے پیرامیٹرز کے ساتھ Universal Link یا Intent پر ری ڈائریکٹ تیار کیا جاتا ہے۔ اگر ایپ انسٹال نہیں ہے تو ڈاؤن لوڈ کے لیے App Store یا Google Play پر ری ڈائریکٹ کرتا ہے۔
ایپ Firebase SDK initialization کے دوران لنک وصول کرتی ہے۔ getDynamicLink() طریقہ منتقلی کے ڈیٹا کے ساتھ PendingResult لوٹاتا ہے۔ کامیاب حصول کے بعد، ڈیپ لنک پیرامیٹرز، تجزیہ کے لیے UTM ٹیگز اور لنک بناتے وقت پاس کردہ صوابدیدی ڈیٹا نکالا جاتا ہے۔
Firebase Console Dynamic Links بنانے کے لیے ایک بصری انٹرفیس فراہم کرتا ہے۔ ڈیولپر ڈیپ لنک URL، مہم کا نام، iOS اور Android کے لیے علیحدہ ترتیبات اور تجزیہ کے پیرامیٹرز بتاتا ہے۔ تخلیق کے بعد، Firebase https://yourcode.page.link/abc123 جیسا مختصر لنک تیار کرتا ہے، جو اشتہاری مواد، ای میل مہمات اور سوشل نیٹ ورکس میں استعمال کیا جا سکتا ہے۔
Dynamic Links کی پروگرامیٹک تخلیق کے لیے Firebase REST API یا کلائنٹ SDK استعمال کیا جاتا ہے۔ REST API حسب ضرورت پیرامیٹرز کے ساتھ مارکیٹنگ مہمات کے لیے بلک لنک جنریشن کی اجازت دیتا ہے، جس میں سوشل نیٹ ورک لنکس اور غیر ہم وقت کلک تجزیہ شامل ہیں۔ API کے ذریعے لنک بناتے وقت socialMetaTagInfo پیرامیٹرز کو درست طریقے سے بتانا ضروری ہے — یہ طے کرتے ہیں کہ میسنجر اور سوشل نیٹ ورکس میں پیش نظارہ کارڈ کے ساتھ شیئر کرنے پر لنک کیسے ظاہر ہوتا ہے۔
| پیرامیٹر | مقصد | لازمی |
|---|---|---|
| Deep Link URL | ایپ کے مواد کا اندرونی لنک | ہاں |
| iOS Bundle ID | App Store میں ایپ کا شناخت کنندہ | iOS کے لیے |
| Android Package Name | Google Play میں پیکیج کا نام | Android کے لیے |
| Fallback URL | ایپ نہ ہونے پر ویب پیج | نہیں |
| UTM ٹیگز | Google Analytics کے لیے پیرامیٹرز | نہیں |
iOS پر Firebase Dynamic Links کے ساتھ کام کرنے کے لیے، CocoaPods یا Swift Package Manager کے ذریعے Firebase SDK کو ضم کرنا، Info.plist کو GOOGLE_APP_ID کے ساتھ ترتیب دینا اور پروجیکٹ کے Associated Domains میں Dynamic Links ڈومین کو رجسٹر کرنا ضروری ہے۔ اس کے بعد، ایپ خود بخود Firebase کے تیار کردہ Universal Links کو ہینڈل کرتی ہے۔
Xcode میں، applinks:yourcode.page.link جیسی اندراج کے ساتھ Associated Domains کی صلاحیت شامل کرنا ضروری ہے۔ Firebase SDK Universal Links کو ہینڈل کرنے کے لیے application(_:continue:restorationHandler:) طریقہ استعمال کرتا ہے، لہذا AppDelegate کے ساتھ اضافی انضمام کی ضرورت نہیں ہے — Firebase خود بخود User Activity سے Dynamic Link کے پیرامیٹرز نکالتا ہے۔
مناسب Firebase initialization اور Dynamic Link ہینڈلر رجسٹریشن کے لیے Info.plist ترتیب کی مثال۔ FIROptions کلید میں GoogleService-Info.plist سے پروجیکٹ شناخت کنندہ ہونا چاہیے۔
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
<string>https://yourcode.page.link</string>
</array>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>
اگر AppDelegate پراکسی غیر فعال ہے تو handleUniversalLink(_:) طریقہ کو دستی طور پر کال کرنا اور continue NSUserActivity سے User Activity پاس کرنا ضروری ہے۔ Firebase SDK خود بخود لنک کے پیرامیٹرز نکالتا ہے اور completion handler کے ذریعے DynamicLink لوٹاتا ہے۔
Android پر، Firebase Dynamic Links کا انضمام build.gradle میں انحصار اور Firebase Console سے google-services.json فائل شامل کرنے سے شروع ہوتا ہے۔ Dynamic Links ڈومین Firebase Console میں رجسٹر ہوتا ہے، جس کے بعد اس ڈومین والے تمام لنکس action VIEW کے ساتھ Intent Filter کے ذریعے Android ایپ خود بخود پہچان لیتی ہے۔ صحیح آپریشن کے لیے، روٹ اور ماڈیول build.gradle میں Google Services پلگ ان شامل کرنا اور Gradle سنکرونائزیشن کرنا بھی ضروری ہے۔
Android پر لنکس کو صحیح طریقے سے ہینڈل کرنے کے لیے، ان Activity میں Dynamic Links ڈومین کے لیے Intent Filter شامل کرنا ضروری ہے جو آنے والے لنکس وصول کرے۔ فلٹر میں https اسکیم، آپ کا Dynamic Links ڈومین ہوسٹ اور ڈیفالٹ پاتھ شامل ہونا چاہیے۔
yourcode.page.link ڈومین پر Dynamic Links وصول کرنے کے لیے AndroidManifest.xml میں Intent Filter کی مثال۔
<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 وصول کرنے والی Activity کے لیے launchMode کو singleTask پر سیٹ کرنا ضروری ہے۔ یہ بار بار لنک کلک کرنے پر Activity کا نیا انسٹنس بننے سے روکتا ہے اور تمام آنے والے ڈیپ لنکس کو ایک ہی انسٹنس میں ہینڈل کرنے کی اجازت دیتا ہے۔
Android کے لیے Firebase SDK طریقہ FirebaseDynamicLinks.getInstance().getDynamicLink(intent) فراہم کرتا ہے، جو لنک ڈیٹا کے ساتھ PendingTask آبجیکٹ لوٹاتا ہے۔ DynamicLink آبجیکٹ سے ڈیپ URI، UTM پیرامیٹرز اور منتقلی کا ٹائم اسٹیمپ نکالا جاتا ہے۔ Activity کے onCreate() اور onNewIntent() طریقوں میں پروسیسنگ کرنے کی سفارش کی جاتی ہے۔
پروسیسنگ کرتے وقت، یہ غور کرنا ضروری ہے کہ Dynamic Link کولڈ سٹارٹ سے ایپ لانچ کرتے وقت اور کسی دوسری ایپ سے پہلے سے چلنے والی ایپ میں منتقلی کرتے وقت دونوں صورتوں میں موصول ہو سکتا ہے۔ دوسری صورت کے لیے، onNewIntent() کو اوور رائڈ کرنا اور Dynamic Link چیک کو دوبارہ کال کرنا ضروری ہے۔
MainActivity میں Firebase Dynamic Link وصول کرنے اور ہینڈل کرنے کی مثال۔ کوڈ کولڈ سٹارٹ اور کسی دوسری ایپ سے منتقلی دونوں کو ہینڈل کرتا ہے۔
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 طریقہ DynamicLink لوٹاتا ہے، جس سے link?.link کے ذریعے ہدف لنک نکالا جاتا ہے۔ اگر listener null لوٹاتا ہے تو اس کا مطلب ہے کہ Intent میں Dynamic Link نہیں ہے — یہ آنے والے لنک کے بغیر ایک عام ایپ لانچ ہے۔ کلک تجزیہ کے لیے UTM ٹیگز بھی دستیاب ہیں، جن میں campaign، medium، source اور content شامل ہیں، جو ہر مارکیٹنگ چینل کی تاثیر کا تفصیلی جائزہ لینے کے لیے Google Analytics کو بھیجے جا سکتے ہیں۔
اکثر پوچھے گئے سوالات
Firebase Dynamic Links ڈیفرڈ ڈیپ لنک کو سپورٹ کرتا ہے — لنک سیاق و سباق کو محفوظ رکھتا ہے چاہے ایپ انسٹال نہ ہو۔ انسٹالیشن کے بعد، ایپ تمام منتقلی کے پیرامیٹرز وصول کرتی ہے، جو عام URL Scheme یا Universal Links کے ساتھ ناممکن ہے۔
Firebase Dynamic Links مفت Firebase Spark قیمتی منصوبے میں شامل ہیں۔ بنائے جا سکنے والے لنکس کی تعداد پر کوئی حد نہیں ہے۔ تاہم، 2024 سے Google نے نئے انفراسٹرکچر میں منتقلی کا اعلان کیا ہے، لہٰذا شرائط تبدیل ہو سکتی ہیں۔
Dynamic Links موبائل ایپلیکیشنز کے لیے ڈیزائن کیے گئے ہیں۔ ڈیسک ٹاپ ویب براؤزر سے لنک پر کلک کرنے پر، یہ فال بیک URL کھولے گا۔ ویب ایپلیکیشنز کے لیے، عام لنکس یا اپنا ری ڈائریکٹ منطق استعمال کریں۔
Firebase Console رویے کا پیش نظارہ کرنے کے لیے Test Dynamic Link بٹن فراہم کرتا ہے۔ آپ تمام منتقلی کے منظرناموں کی مقامی جانچ کے لیے انسٹال کردہ Firebase SDK کے ساتھ Android ایمولیٹر یا iOS سمیولیٹر بھی استعمال کر سکتے ہیں۔
ایک مختصر Firebase Dynamic Link page.link ڈومین اور تقریباً 7 حروف کے بے ترتیب لاحقے پر مشتمل ہوتا ہے۔ کل لمبائی تقریباً 30 حروف ہے۔ اندر کا ڈیپ لنک کسی بھی لمبائی کا ہو سکتا ہے، لیکن مطابقت کے لیے اسے 2 KB تک محدود رکھنے کی سفارش کی جاتی ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں