ڈیپ لنک (Deep Link) ایک URL ہے جو صارف کو ہوم اسکرین کو نظرانداز کرتے ہوئے موبائل ایپلیکیشن کے اندر کسی مخصوص اسکرین یا مواد پر لے جاتا ہے۔ ویب سائٹ کے عام لنک کے برعکس، ڈیپ لنک ایپ کو فعال کرتا ہے اور فوری طور پر ہدف کے مواد کو کھولتا ہے۔ Android Developers کے مطابق، صحیح طریقے سے ترتیب دیے گئے ڈیپ لنک مواد تک پہنچنے کے مراحل کی تعداد کم کرکے ہدف کی کارروائی میں تبدیلی کو 30–50% تک بڑھاتے ہیں۔
اہم نکات
ڈیپ لنک (Deep Link) ایک URI ہے جو کلک کرنے پر کوئی ویب پیج نہیں بلکہ موبائل ایپلیکیشن کے اندر ایک مخصوص اسکرین کھولتا ہے۔ یہ ٹیکنالوجی موبائل پلیٹ فارمز کے ایک بنیادی مسئلے کو حل کرتی ہے: براؤزر براہ راست ایپ اسکرین نہیں کھول سکتا، اور ڈیپ لنک ویب اور نیٹیو کوڈ کے درمیان ایک پل بناتا ہے۔ ڈیپ لنک کے بغیر، صارف ہمیشہ ہوم اسکرین پر پہنچتا ہے اور دستی طور پر مطلوبہ مواد تک جانے پر مجبور ہوتا ہے۔
ڈیپ لنک کا آرکیٹیکچر دو حصوں پر مشتمل ہوتا ہے: اسکیم (scheme) طے کرتی ہے کہ کون سی ایپ لنک کو پروسیس کرے گی، اور راستہ (path) ایپ کے اندر کسی مخصوص وسائل (مصنوعہ، مضمون، صارف پروفائل یا سیٹنگز سیکشن) کی طرف اشارہ کرتا ہے۔ استفسار کے پیرامیٹرز (?source=push&campaign=summer) تجزیہ، ذاتی بنانے اور مہم کے انتساب کے لیے اضافی سیاق و سباق منتقل کرتے ہیں۔
ڈیپ لنک اور عام لنک کے درمیان فرق کرنا ضروری ہے۔ ایک عام لنک (https://example.com/product/42) براؤزر میں کھلتا ہے اور صفحہ کے ویب ورژن پر لے جاتا ہے۔ ایک ڈیپ لنک (myapp://product/42)، اگر ایپ انسٹال ہے، تو اسی مواد کے ساتھ نیٹیو اسکرین کھولتا ہے، لیکن اگر ایپ انسٹال نہیں ہے، تو یہ ایک خرابی دکھاتا ہے۔ Universal Link (iOS) اور App Link (Android) خاص طور پر ہموار فال بیک (fallback) کے مسئلے کو حل کرنے کے لیے بنائے گئے تھے۔
مختلف کاموں کے لیے مختلف اقسام کے ڈیپ لنک کی ضرورت ہوتی ہے۔ کچھ لنک صرف انسٹال کردہ ایپ کے ساتھ کام کرتے ہیں، دوسرے انسٹالیشن کا انتظار کر سکتے ہیں، اور کچھ تجزیاتی سیاق و سباق منتقل کرتے ہیں۔ قسم کا انتخاب استعمال کے منظرنامے پر منحصر ہے: اشتہاری مہم، پش نوٹیفکیشن، مواد کی اشتراک یا ای میل نیوز لیٹر۔
معیاری ڈیپ لنک بنیادی قسم ہے جو صرف اس وقت فعال ہوتی ہے جب ایپ پہلے سے ڈیوائس پر انسٹال ہو۔ صارف myapp://product/42 لنک پر کلک کرتا ہے، سسٹم رجسٹرڈ اسکیم کا پتہ لگاتا ہے اور مطلوبہ اسکرین پر ایپ کھولتا ہے۔ اگر ایپ انسٹال نہیں ہے، تو براؤزر “صفحہ نہیں ملا” کی خرابی دکھاتا ہے یا کچھ نہیں کرتا۔ یہ قسم پہلے سے انسٹال کردہ ایپلیکیشن کے اندر اندرونی نیویگیشن کے لیے موزوں ہے۔
معیاری ڈیپ لنک ترتیب دینا آسان ہے: صرف مینی فیسٹ (Android) یا Info.plist (iOS) میں URI اسکیم رجسٹر کریں۔ سرور کی توثیق یا SSL سرٹیفکیٹ کی ضرورت نہیں ہے۔ لیکن فال بیک کی کمی کی وجہ سے، یہ قسم مارکیٹنگ مہمات کے لیے پرانی سمجھی جاتی ہے — ایپ کے بغیر صارفین سے ٹریفک کا نقصان 60% تک پہنچ سکتا ہے۔
ڈیفرڈ ڈیپ لنک عام ڈیپ لنک کے اہم مسئلے کو حل کرتا ہے: یہ اس وقت بھی کام کرتا ہے جب ایپ انسٹال نہ ہو۔ صارف لنک پر کلک کرتا ہے → ایک صفحہ دیکھتا ہے (لینڈنگ یا App Store/Google Play) → ایپ انسٹال کرتا ہے → پہلی لانچ پر، ایپ اصل لنک کا سیاق و سباق حاصل کرتی ہے اور مطلوبہ اسکرین کھولتی ہے۔ اس ٹیکنالوجی کے لیے ایک درمیانی SDK (AppsFlyer, Branch, Adjust) کی ضرورت ہوتی ہے جو پہلی لانچ تک سرور پر سیاق و سباق محفوظ کرتا ہے۔
Branch ڈیفرڈ ڈیپ لنک کے لیے سب سے مشہور پلیٹ فارمز میں سے ایک ہے۔ یہ ایک واحد لنک فراہم کرتا ہے جو تمام پلیٹ فارمز پر کام کرتا ہے: صارف کے OS کا پتہ لگاتا ہے، ایپ اسٹور پر ری ڈائریکٹ کرتا ہے، اور انسٹالیشن کے بعد سیاق و سباق (پرومو کوڈ، پروڈکٹ ID، مہم کا ماخذ) منتقل کرتا ہے۔ Branch (2024) کے مطابق، ڈیفرڈ ڈیپ لنک اشتہاری مہم کی تبدیلی کو 40–70% تک بڑھاتے ہیں۔
سیاقی ڈیپ لنک ایک عام یا ڈیفرڈ ڈیپ لنک ہے جو سیاقی پیرامیٹرز (ٹریفک ماخذ، مہم، پرومو کوڈ، ریفرر، پارٹنر ID) سے مکمل ہوتا ہے۔ پیرامیٹرز URL میں منتقل کیے جاتے ہیں اور ذاتی بنانے کے لیے ایپ کے ذریعے پروسیس کیے جاتے ہیں: خوش آمدید بونس دکھانا، رعایت والی مصنوعہ کھولنا، انسٹالیشن کے تجزیات ریکارڈ کرنا۔
UTM ٹیگز (utm_source, utm_medium, utm_campaign) سیاق و سباق منتقل کرنے کا ایک معیاری طریقہ ہے۔ موبائل میں، سیاقی ڈیپ لنک انتساب کے لیے اہم ہیں: ان کے بغیر، ایپ کا مالک نہیں جان سکتا کہ کس چینل نے صارف کو لایا — نامیاتی ٹریفک، Facebook اشتہارات، ای میل نیوز لیٹر یا QR کوڈ۔ معیاری انتساب کے لیے MMP (Mobile Measurement Partner) کے ساتھ انضمام کی ضرورت ہوتی ہے۔
| ڈیپ لنک کی قسم | انسٹالیشن درکار | انسٹال کا انتظار | سیاق و سباق |
|---|---|---|---|
| معیاری | ہاں | نہیں | صرف URL میں |
| ڈیفرڈ | نہیں | ہاں | سرور اسٹوریج |
| سیاقی | کوئی بھی | کوئی بھی | UTM + پیرامیٹرز |
iOS دو میکانزم کے ذریعے ڈیپ لنک کو سپورٹ کرتا ہے: پرانا Custom URL Scheme اور جدید Universal Link (iOS 9+)۔ Custom URL Scheme Info.plist میں ایک حسب ضرورت اسکیم رجسٹر کرکے کام کرتا ہے۔ ایپ myapp:// رجسٹر کرتی ہے، اور iOS اس طرح کے لنک پر کلک کرنے پر ایپ کھولتا ہے۔ مسئلہ: اگر اسکیم کسی ایپ کے ذریعے رجسٹرڈ نہیں ہے، تو براؤزر ایک خرابی دکھاتا ہے۔
iOS پر ڈیپ لنک کی ہینڈلنگ AppDelegate طریقہ application(_:open:options:) یا SceneDelegate scene(_:openURLContexts:) کے ذریعے ہوتی ہے۔ ڈویلپر URL نکالتا ہے، راستہ اور پیرامیٹرز کو پارس کرتا ہے، پھر مناسب اسکرین پر نیویگیٹ کرتا ہے۔ اگر SwiftUI استعمال کیا جائے تو ہینڈلنگ OpenURLAction یا onChange(of: openURL) کے ذریعے کی جاتی ہے۔ ایپ کی حالت (لانچ نہ ہونا، پس منظر میں ہونا یا فعال ہونا) کو صحیح طریقے سے ہینڈل کرنا ضروری ہے۔
iOS پر سیکیورٹی سخت ہے: کوئی بھی ایپ ایک ہی اسکیم رجسٹر کرکے Custom URL Scheme کو روک سکتی ہے۔ یہ ایک ممکنہ کمزوری ہے (URL اسکیم ہائی جیکنگ)۔ اس لیے Apple Universal Link کو زیادہ محفوظ متبادل کے طور پر تجویز کرتا ہے: صرف تصدیق شدہ ڈومین کا مالک ایپ کے ساتھ لنک منسلک کر سکتا ہے۔ Universal Link کے بارے میں مزید معلومات کے لیے Universal Link مضمون دیکھیں۔
Android AndroidManifest.xml میں Intent Filters کے ذریعے ڈیپ لنک کو نافذ کرتا ہے۔ ایپ ایک Activity کی وضاحت کرتی ہے جو ایک مخصوص اسکیم (myapp://) یا مخصوص میزبانوں اور راستوں کو ہینڈل کرتی ہے۔ جب صارف ڈیپ لنک پر کلک کرتا ہے، Android مماثل Intent Filter والی Activity تلاش کرتا ہے اور اسے کھولتا ہے۔ اگر متعدد مماثل Activities ہوں، تو سسٹم ایک ایپ سلیکشن ڈائیلاگ دکھاتا ہے۔
// AndroidManifest.xml - ڈیپ لنک کے لیے Intent Filter
<activity
android:name=".ui.ProductActivity"
android:exported="true">
<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="myapp"
android:host="product"
android:pathPrefix="/" />
</intent-filter>
</activity>
Android میں ڈیپ لنک کی ہینڈلنگ Activity.onCreate() یا onNewIntent() طریقہ میں کی جاتی ہے۔ ڈویلپر Intent وصول کرتا ہے، URI نکالتا ہے اور نیویگیشن شروع کرتا ہے۔ Jetpack Navigation کے لیے، Navigation Deep Link جزو نیویگیشن گراف میں ڈیپ لنک کو اعلانیہ طور پر بیان کرنے کی اجازت دیتا ہے۔ Android App Link (Android 6.0+) Digital Asset Links کے ذریعے تصدیق کے ساتھ ڈیپ لنک کا ارتقاء ہے، جو ایپ سلیکشن ڈائیلاگ کو ختم کرتا ہے۔
Android 12+ تبدیلیوں پر غور کرنا ضروری ہے: API 31 سے شروع کرتے ہوئے، سسٹم کو ڈیپ لنک ہینڈل کرنے والی Activities کے لیے exported=true کے واضح اعلان کی ضرورت ہوتی ہے اور Intent Filter کی درستگی کی جانچ کرتا ہے۔ Google Play Store اشاعت کے دوران App Link کی تصدیق کی جانچ کرتا ہے۔ تصدیق کے بغیر، Google اپ ڈیٹ کو مسترد کر سکتا ہے اگر ڈیپ لنک ویب سائٹ کے غیر موجود صفحات پر لے جائیں۔
ڈیپ لنک کی ترتیب میں دونوں پلیٹ فارمز کے لیے مشترکہ کئی مراحل شامل ہیں۔ پہلا قدم اسکیم اور URL کی ساخت کی وضاحت کرنا ہے۔ Universal Link اور App Link کے ساتھ مطابقت کے لیے حسب ضرورت کے بجائے https اسکیم استعمال کرنے کی سفارش کی جاتی ہے۔ URL کی ساخت کو ویب سائٹ کی ساخت کی عکاسی کرنی چاہیے: /product/42، /profile/john، /settings/notifications۔ یہ دیکھ بھال اور سرچ انجنوں کے ذریعے مواد کی انڈیکسنگ کو آسان بناتا ہے۔
دوسرا مرحلہ ایپ کوڈ میں ڈیپ لنک کو ہینڈل کرنا ہے۔ Android کے لیے، nav_graph میں اعلانیہ ڈیپ لنک کے ساتھ Jetpack Navigation تجویز کیا جاتا ہے۔ iOS کے لیے — OpenURLAction ہینڈلنگ کے ساتھ SwiftUI NavigationStack تجویز کیا جاتا ہے۔ تین ایپ حالتوں کو ہینڈل کرنا ضروری ہے: کولڈ اسٹارٹ (ایپ لانچ نہیں ہوئی)، وارم اسٹارٹ (پس منظر میں) اور فعال (اسکرین پر)۔ ہر حالت کو مختلف نیویگیشن منطق کی ضرورت ہوتی ہے۔
ڈیپ لنک کی جانچ ایک الگ کام ہے۔ Android Studio Intent Filters کی جانچ کے لیے App Links Assistant ٹول فراہم کرتا ہے۔ iOS پر، جانچ لانچ اسکیم آرگیومینٹس کے ذریعے URL پاس کرکے Xcode کے ذریعے کی جاتی ہے۔ CI چیک (خودکار ڈیپ لنک نیویگیشن اور متوقع اسکرین کے کھلنے کی تصدیق) ترتیب دینے کی سفارش کی جاتی ہے۔ ڈیفرڈ ڈیپ لنک کے لیے، جانچ میں “انسٹالیشن → پہلی لانچ → سیاق و سباق” کا مکمل چکر شامل ہے۔ جانچ کے بغیر، ایپ نیویگیشن اپ ڈیٹ ہونے پر ڈیپ لنک اکثر ٹوٹ جاتے ہیں۔
اکثر پوچھے گئے سوالات
عام لنک (https://site.com/page) براؤزر میں کھلتا ہے۔ ڈیپ لنک (myapp://page یا تصدیق کے ساتھ https://site.com/page) موبائل ایپ کے اندر ایک اسکرین کھولتا ہے۔ ڈیپ لنک سیاق و سباق بھی منتقل کر سکتا ہے: پرومو کوڈ، ٹریفک ماخذ، ریفرل ID۔
URI اسکیم ایک URL سابقہ ہے جو طے کرتا ہے کہ کون سی ایپ لنک کو ہینڈل کرے گی (مثال: myapp://، vk://، tg://)۔ سسٹم روٹنگ کے لیے اسکیم استعمال کرتا ہے: وہ ایپ ڈھونڈتا ہے جس نے یہ اسکیم رجسٹر کی ہے اور پروسیسنگ کے لیے اسے URL دیتا ہے۔
صارف لنک پر کلک کرتا ہے → سروس (Branch, AppsFlyer) سیاق و سباق یاد رکھتی ہے → App Store/Google Play پر ری ڈائریکٹ کرتی ہے → انسٹالیشن اور پہلی لانچ کے بعد، SDK محفوظ کردہ سیاق و سباق ایپ کو منتقل کرتا ہے → ایپ مطلوبہ اسکرین کھولتی ہے، گویا صارف کے پاس پہلے سے ایپ انسٹال ہے۔
عام ڈیپ لنک — نہیں۔ ڈیفرڈ ڈیپ لنک — ہاں، ایک درمیانی صفحے کے ذریعے جو ایپ اسٹور پر ری ڈائریکٹ کرتا ہے اور سیاق و سباق محفوظ کرتا ہے۔ Universal Link اور App Link ایپ انسٹال نہ ہونے پر فال بیک کے طور پر ویب سائٹ کھولتے ہیں۔
Android پر، adb استعمال کریں: adb shell am start -W -a android.intent.action.VIEW -d “myapp://product/42”۔ iOS پر — xcrun simctl openurl booted “myapp://product/42”۔ دونوں پلیٹ فارمز کے لیے Firebase Dynamic Links اور Branch ٹیسٹ کنسول دستیاب ہیں۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں