Deferred Deep Link ایک میکانزم ہے جو منتقلی کے ہدف کے سیاق و سباق کو محفوظ رکھتا ہے چاہے ایپ ابھی صارف کے آلے پر انسٹال نہ ہوئی ہو۔ Branch Resources کے مطابق، ایپ انسٹالیشن کے بعد سسٹم خود بخود محفوظ کردہ سیاق و سباق پر کارروائی کرتا ہے اور صارف کو ہدف کی اسکرین پر ری ڈائریکٹ کرتا ہے۔ Deferred Deep Link عام ڈیپ لنک کے اہم مسئلے — غیر انسٹال شدہ ایپس کے ساتھ کام کرنے میں ناکامی — کو حل کرتا ہے۔
اہم نکات
Deferred Deep Link ایک قسم کا گہرا لنک ہے جو دو مراحل میں کام کرتا ہے: پہلے صارف ایپ انسٹال ہونے سے پہلے لنک پر کلک کرتا ہے، پھر انسٹالیشن مکمل ہونے کے بعد سسٹم سیاق و سباق کو بحال کرتا ہے۔ عام ڈیپ لنک صرف اس وقت ایپ کھولتا ہے جب وہ پہلے سے انسٹال ہو، جبکہ deferred تمام منتقلی پیرامیٹرز کو محفوظ کرتا ہے اور پہلے لانچ پر انہیں منتقل کرتا ہے۔
یہ ٹیکنالوجی موبائل مارکیٹنگ کی ترقی کے ساتھ خاص طور پر مانگ میں آئی ہے، جہاں اشتہاری مہمات اکثر ان صارفین کو نشانہ بناتی ہیں جنہوں نے ابھی تک ایپ انسٹال نہیں کی ہے۔ deferred deep link کے بغیر، اس طرح کی ہر منتقلی بغیر کسی سیاق و سباق کے صرف ایپ ڈاؤن لوڈ کرنے پر ختم ہو جائے گی — صارف ہدف کی اسکرین کے بجائے مرکزی اسکرین پر پہنچے گا۔
عام ڈیپ لنک پہلے سے انسٹال کردہ ایپ میں ہدف کا مواد کھولتا ہے۔ اگر ایپ انسٹال نہیں ہے تو براؤزر ایک خرابی دکھاتا ہے۔ Deferred Deep Link ایک انٹرمیڈیٹ سرور کے ذریعے کام کرتا ہے جو صارف کو اسٹور پر ری ڈائریکٹ کرتا ہے، اور انسٹالیشن کے بعد ایپ کو محفوظ کردہ پیرامیٹرز کے بارے میں مطلع کرتا ہے۔ اس طرح، deferred لنک کو ایپ کی پیشگی انسٹالیشن کی ضرورت نہیں ہوتی اور یہ اشتہار سے مواد تک اینڈ ٹو اینڈ صارف کا راستہ فراہم کرتا ہے۔
deferred deep link پروسیسنگ تین مراحل پر مشتمل ہے۔ پہلے مرحلے میں، صارف لنک پر کلک کرتا ہے — سرور تعین کرتا ہے کہ آیا ایپ انسٹال ہے۔ اگر نہیں ہے تو، یہ ایک منفرد سیشن شناخت کنندہ تیار کرتا ہے، منتقلی پیرامیٹرز محفوظ کرتا ہے، اور صارف کو اس شناخت کنندہ کے ساتھ App Store یا Google Play پر ری ڈائریکٹ کرتا ہے۔
دوسرے مرحلے میں، صارف اسٹور سے ایپ انسٹال کرتا ہے۔ انسٹالیشن اور پہلے لانچ کے بعد، پلیٹ فارم SDK سرور سے رابطہ کرتا ہے، آلے کا شناخت کنندہ منتقل کرتا ہے، اور محفوظ کردہ منتقلی پیرامیٹرز وصول کرتا ہے۔ تیسرے مرحلے میں، ایپ موصولہ ڈیٹا پر کارروائی کرتی ہے اور خود بخود صارف کو ہدف کی اسکرین پر ری ڈائریکٹ کرتی ہے۔
لنک کلک اور انسٹالیشن کے درمیان پیرامیٹرز محفوظ کرنے کے لیے مختلف میکانزم استعمال کیے جاتے ہیں۔ iOS پر، یہ iCloud Keychain یا کلپ بورڈ ہے؛ Android پر، یہ Install Referrer API ہے۔ Firebase Dynamic Links سیشن شناخت کنندہ منتقل کرنے کے لیے براؤزر localStorage اور اسٹور ریفرل لنک کا مجموعہ استعمال کرتا ہے۔ Branch.io متعدد اسٹوریج میں ڈیٹا بیک اپ کے ساتھ اپنا پروٹوکول استعمال کرتا ہے۔
iOS میں، deferred deep Link Universal Links اور Shared Web Credentials کے امتزاج کے ذریعے نافذ کیا جاتا ہے۔ جب صارف ایپ کی ویب سائٹ پر Universal Link پر کلک کرتا ہے، Safari ایپ کے ڈومین سے منسلک iCloud Keychain میں منتقلی پیرامیٹرز محفوظ کرتا ہے۔ App Store سے ایپ انسٹال کرنے کے بعد، iOS محفوظ کردہ ڈیٹا کی موجودگی کی جانچ کرتا ہے اور پہلے لانچ پر انہیں ایپ کو منتقل کرتا ہے۔
Apple deferred deep link کے لیے کوئی بلٹ ان API فراہم نہیں کرتا — نفاذ مکمل طور پر تیسرے فریق کے SDK پر چھوڑ دیا گیا ہے۔ Firebase Dynamic Links ایک passive deferred میکانزم استعمال کرتا ہے، جہاں ڈیٹا براؤزر کوکیز میں محفوظ کیا جاتا ہے اور ایپ کے پہلے لانچ پر ایک خاص URL پر ری ڈائریکٹ کے ذریعے بحال کیا جاتا ہے۔
iOS 14 سے شروع کرتے ہوئے، Apple نے رازداری کے قوانین سخت کر دیے، جس نے deferred deep link میکانزم کو متاثر کیا۔ کلپ بورڈ اب صارف کی واضح اجازت کے بغیر ڈیٹا پڑھنے کے لیے استعمال نہیں کیا جا سکتا۔ iCloud Keychain میں بھی ڈیٹا کے حجم کی حدود ہیں — فی تحریر 4 KB سے زیادہ نہیں۔ یہ منفرد سیشن شناخت کنندہ کے ساتھ سرور سائیڈ حل کو سیاق و سباق منتقل کرنے کا ترجیحی طریقہ بناتا ہے۔
Android Install Referrer API کے ذریعے deferred deep link کے لیے زیادہ لچکدار اختیارات فراہم کرتا ہے۔ جب صارف Google Play کے لنک پر کلک کرتا ہے، اسٹور referrer — منتقلی پیرامیٹرز والی ایک سٹرنگ — کو کیپچر کرتا ہے۔ انسٹالیشن کے بعد، ایپ Install Referrer API کے ذریعے یہ سٹرنگ وصول کرتی ہے اور اس سے ہدف کا سیاق و سباق نکالتی ہے۔ یہ Android پر سب سے قابل اعتماد deferred deep link میکانزم ہے۔
Google Play سے باہر تقسیم کردہ ایپس کے لیے، Android ایک ریفرل BroadcastReceiver کو سپورٹ کرتا ہے۔ ڈیولپر انسٹالیشن کے بعد پیرامیٹرز کے ساتھ ایک کسٹم Intent بھیج سکتا ہے، اور ایپ مینی فیسٹ میں رجسٹرڈ BroadcastReceiver کے ذریعے اسے وصول کرے گی۔ تاہم، یہ میکانزم کم قابل اعتماد ہے کیونکہ یہ انسٹالر کے نفاذ پر منحصر ہے۔
Install Referrer API انسٹالیشن کے ماخذ کے بارے میں معلومات فراہم کرتا ہے، بشمول referrer URL، کلک کا وقت اور انسٹال کا وقت۔ زیادہ سے زیادہ referrer سٹرنگ کی لمبائی 8 KB ہے، جو تمام ضروری ڈیپ لنک پیرامیٹرز منتقل کرنے کے لیے کافی ہے۔ API Google Play Store ورژن 8.3.73 اور اس سے اوپر والے آلات پر دستیاب ہے، اور Android 5.0 (API 21) پر سپورٹ کیا جاتا ہے۔
Firebase Dynamic Links دونوں پلیٹ فارمز پر deferred deep link لاگو کرنے کا سب سے مشہور مفت ٹول ہے۔ Firebase deferred منتقلی کے تمام مراحل کو خود بخود سنبھالتا ہے: ایپ کی غیر موجودگی میں اسٹور پر ری ڈائریکٹ، Firebase سرور پر پیرامیٹرز کا ذخیرہ، اور ایپ کے پہلے لانچ پر SDK کو ان کی منتقلی۔
نفاذ کے لیے، بس پروجیکٹ میں Firebase SDK کو ضم کریں، Firebase Console کے ذریعے ڈیپ لنک اور مہم کے پیرامیٹرز بتاتے ہوئے ایک Dynamic Link بنائیں۔ Firebase SDK ایپ لانچ ہونے پر خود بخود کال ہوتا ہے اور getDynamicLink() طریقہ کے ذریعے آنے والے Dynamic Link کی جانچ کرتا ہے۔
Kotlin میں Activity میں موخر Firebase Dynamic Link پروسیسنگ کی مثال۔ کوڈ ایپ لانچ ہونے پر cold start اور warm start دونوں کے لیے یکساں طور پر کام کرتا ہے۔
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
checkDeferredLink()
}
private fun checkDeferredLink() {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener link ->
val deferredLink = link?.link.toString()
if (deferredLink.isNotEmpty()) {
navigateToContent(deferredLink)
}
}
}
}
getDynamicLink() طریقہ DynamicLink آبجیکٹ کے ساتھ PendingTask لوٹاتا ہے۔ اگر لنک پر کلک کرنے کے بعد ایپ انسٹال کی گئی تھی، تو listener پیرامیٹرز کے ساتھ ڈیٹا وصول کرے گا۔ اگر منتقلی سے پہلے ایپ پہلے سے انسٹال تھی، تو طریقہ عام ڈیپ لنک کی طرح ایک ہی ڈیٹا لوٹائے گا۔ لنک پیرامیٹرز میں minimumAppVersion فلیگ پروسیسنگ کے لیے کم از کم ایپ ورژن سیٹ کرنے کی اجازت دیتا ہے۔
Deferred Deep Link مارکیٹنگ مہمات کے لیے اہم فوائد فراہم کرتا ہے: صارف بغیر کسی اضافی اقدامات کے انسٹالیشن کے بعد ہدف کا مواد وصول کرتا ہے، جس سے تبدیلی اور برقراری میں اضافہ ہوتا ہے۔ ریفرل پروگراموں کے لیے، deferred لنکس دعوت کو انسٹالیشن اور نئے صارف کے اقدامات سے واضح طور پر منسلک کرنے کی اجازت دیتے ہیں۔
تاہم، ٹیکنالوجی کی اپنی حدود بھی ہیں۔ deferred deep link ان براؤزرز میں کام نہیں کرتا جو تیسرے فریق کی کوکیز کو بلاک کرتے ہیں، اور iOS ورژن 14 سے iCloud Keychain کے لیے اضافی کنفیگریشن کی ضرورت ہوتی ہے۔ مزید برآں، لنک کلک اور انسٹالیشن کے درمیان کئی دن گزر سکتے ہیں، اور تمام SDK اس مدت کے لیے ڈیٹا کے تحفظ کی ضمانت نہیں دیتے۔
deferred deep link نئے صارفین کو نشانہ بنانے والی اشتہاری مہمات، دعوتوں کے ساتھ ای میل نیوز لیٹرز اور ریفرل پروگراموں کے لیے لازمی ہے۔ پہلے سے انسٹال صارفین کے لیے، عام ڈیپ لنک کافی ہے۔ اگر ایپ مارکیٹنگ مہمات یا ریفرل میکانزم استعمال نہیں کرتی، تو deferred deep link کی ضرورت نہیں ہے — Universal Links اور App Links کافی ہیں۔
نفاذ کا انتخاب کرتے وقت لاگت پر غور کریں: Firebase Dynamic Links مفت ہے لیکن اس میں محدود تجزیہ ہے۔ Branch.io اور AppsFlyer اعلی درجے کی ایٹری بیوشن فراہم کرتے ہیں لیکن سبسکرپشن کی ضرورت ہوتی ہے۔ چھوٹے پروجیکٹس کے لیے، Firebase بہترین حل ہے؛ درجنوں اشتہاری چینلز والے انٹرپرائز کے لیے، تجارتی MMP انتخاب ہیں۔
اکثر پوچھے گئے سوالات
عام ڈیپ لنک کے لیے ایپ انسٹال ہونا ضروری ہے اور اسے براہ راست کھولتا ہے۔ Deferred Deep Link اس وقت بھی کام کرتا ہے جب ایپ انسٹال نہ ہو — یہ اسٹور پر ری ڈائریکٹ کرتا ہے، اور انسٹالیشن کے بعد منتقلی کے سیاق و سباق کو بحال کرتا ہے اور ہدف کی اسکرین کھولتا ہے۔
ذخیرہ کرنے کی مدت پلیٹ فارم پر منحصر ہے۔ Firebase Dynamic Links پیرامیٹرز کو 30 دنوں تک محفوظ کرتا ہے۔ Branch.io ڈیٹا کو 90 دنوں تک رکھتا ہے۔ Android پر، Install Referrer API referrer سٹرنگ کو ایپ کے ذریعے پہلی بار پڑھنے تک محفوظ کرتی ہے، لیکن 90 دنوں سے زیادہ نہیں۔
ڈیسک ٹاپ پر، deferred deep link کا کوئی مطلب نہیں کیونکہ ایپ کمپیوٹر پر اسٹور کے ذریعے انسٹال نہیں کی جا سکتی۔ ڈیسک ٹاپ سے لنک پر کلک کرنے پر، صارف ایک فال بیک URL دیکھے گا — مواد کا ویب ورژن یا موبائل آلے پر انسٹالیشن کے لیے QR کوڈ والا صفحہ۔
Chrome، Safari اور Samsung Internet کوکی اور localStorage میکانزم کے ذریعے deferred deep link کو سپورٹ کرتے ہیں۔ Firefox سخت تیسرے فریق کی کوکی بلاکنگ پالیسی کی وجہ سے محدود سپورٹ رکھتا ہے۔ زیادہ سے زیادہ کوریج کے لیے، Firebase یا Branch.io SDK استعمال کرنے کی سفارش کی جاتی ہے۔
تکنیکی طور پر، ایک انٹرمیڈیٹ سرور اور ریفرل میکانزم کے ذریعے ایک علیحدہ حل لاگو کیا جا سکتا ہے۔ تاہم، اس کے لیے سرور کے بنیادی ڈھانچے کی ترقی اور دیکھ بھال، کوکیز کو سنبھالنا، ہر اسٹور کے ساتھ انضمام اور مختلف پلیٹ فارمز پر مسائل حل کرنے کی ضرورت ہوتی ہے۔ تیار Firebase اور Branch.io SDK ترقی کو دس گنا تیز کرتے ہیں۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں