App Link: یہ کیا ہے، کام کرنے کا اصول اور ترتیب

مصنف: IT Sectr اشاعت: 2026-05-14 مطالعے کا وقت: 9 منٹ

App Link ایک Android طریقہ کار ہے (Android 6.0+) جو انسٹال شدہ ایپ میں ویب لنکس کو خود بخود کھولتا ہے، انتخاب کے ڈائیلاگ کو چھوڑتے ہوئے۔ یہ اصطلاح Google نے 2015 میں Android 6.0 Marshmallow کے ساتھ متعارف کروائی تھی۔ Android Developers کے مطابق، App Link Digital Asset Links استعمال کرتا ہے — سرور پر فائل کے ذریعے خفیہ تصدیق، اس بات کی تصدیق کرتا ہے کہ ڈومین ایپ ڈویلپر کا ہے۔

اہم نکات

  • App Link — ایک https لنک جو انتخاب کے ڈائیلاگ کے بغیر خود بخود ایپ کھولتا ہے
  • Digital Asset Links — سرور پر JSON فائل assetlinks.json، ڈومین کے ایپ سے کنکشن کی تصدیق کرتی ہے
  • سرٹیفکیٹ کا SHA256 فنگر پرنٹ — تصدیق کا کلیدی عنصر، ڈویلپر کو ڈومین سے جوڑتا ہے
  • Intent Filter — Android جزو جو اعلان کرتا ہے کہ ایپ کن لنکس کو ہینڈل کرتی ہے
  • سیکیورٹی — App Link «ایپ یا براؤزر میں کھولیں» ڈائیلاگ کو ختم کرتا ہے، تبادلوں میں اضافہ کرتا ہے

App Link (Android App Link) ایک معیاری HTTPS لنک ہے، جسے Android ڈیوائس پر کلک کرنے پر، براؤزر اور ایپ کے درمیان معیاری انتخاب کا ڈائیلاگ دکھائے بغیر انسٹال شدہ ایپ خود بخود کھولتا ہے۔ Google نے Android 6.0 (API 23) میں «چوزر ڈائیلاگ» مسئلے کے حل کے طور پر App Link متعارف کروایا، جو اضافی کلک اور صارف کی الجھن کی وجہ سے deep link کی تبدیلی کو کم کر رہا تھا۔

کلیدی ایجاد: تصدیق۔ Android Digital Asset Links API کے ذریعے تصدیق کرتا ہے کہ ڈومین واقعی ایپ ڈویلپر کا ہے۔ Google Play Store اشاعت کے وقت App Link چیک کرتا ہے اور اگر تصدیق ناکام ہو تو اپ ڈیٹ کو مسترد کر سکتا ہے۔ یہ App Link کو Custom URL Scheme سے زیادہ محفوظ بناتا ہے: کوئی دوسری ایپ آپ کے ڈومین کے لنک کو روک نہیں سکتی۔

Digital Asset Links ایک کھلا پروٹوکول ہے جسے Google نہ صرف App Link کے لیے، بلکہ تلاش کے نتائج، Google Assistant اور Smart Lock for Passwords میں ویب سائٹس کو ایپس سے جوڑنے کے لیے بھی استعمال کرتا ہے۔ پروٹوکول خفیہ تصدیق پر مبنی ہے: assetlinks.json میں ایپ کے دستخطی سرٹیفکیٹ کا SHA256 فنگر پرنٹ مخصوص کیا جاتا ہے، جو جعلسازی کو ختم کرتا ہے۔

App Link کے کام کرنے کا عمل تین مراحل پر مشتمل ہے: Digital Asset Links کی تصدیق، Intent Filter کے ذریعے پروسیسنگ اور خودکار ری ڈائریکٹ۔ ہر مرحلہ لازمی ہے۔ اگر تصدیق ناکام ہوتی ہے، تو Android ایک انتخاب کا ڈائیلاگ دکھاتا ہے — ایسا deep link معمول کے مطابق کام کرتا ہے لیکن خودکار منتقلی کے فائدے کے بغیر۔

Digital Asset Links (assetlinks.json)

Asset Links ایک JSON فائل ہے جو سرور پر https://domain/.well-known/assetlinks.json پتے پر رکھی جاتی ہے۔ فیلڈز والی اشیاء کی ایک صف: relation (تعلق کی قسم بیان کرنے والی سٹرنگز کی صف)، target (ایپ کے namespace اور package_name کے ساتھ ساتھ sha256_cert_fingerprints والی شے — دستخطی سرٹیفکیٹ کے SHA256 فنگر پرنٹس کی صف)۔

json
// assetlinks.json — App Link کی کم از کم ترتیب
[{
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
        "namespace": "android_app",
        "package_name": "com.example.app",
        "sha256_cert_fingerprints": [
            "14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:AD:A4:C5:AD:6B:01:14:79:6B:CB:12:6B:21:39:6F:EA"
        ]
    }
}]

SHA256 فنگر پرنٹ اس سرٹیفکیٹ سے حاصل کیا جاتا ہے جس سے ایپ پر دستخط کیے گئے ہیں۔ ڈیبگ بلڈ کے لیے معیاری Android ڈیبگ سرٹیفکیٹ استعمال کیا جاتا ہے، ریلیز بلڈ کے لیے — Google Play Console سے سرٹیفکیٹ یا آپ کا اپنا۔ اہم: دستخطی سرٹیفکیٹ تبدیل کرتے وقت (مثال کے طور پر، App Signing by Google Play پر سوئچ کرتے وقت)، سرور پر assetlinks.json کو اپ ڈیٹ کرنا ضروری ہے، ورنہ App Link کام کرنا بند کر دے گا۔

Intent Filter اور تصدیق

Android پہلی بار لنک پر کلک کرنے پر App Link کی تصدیق کرتا ہے۔ سسٹم سرور سے assetlinks.json ڈاؤن لوڈ کرتا ہے، package_name اور SHA256 فنگر پرنٹ کا انسٹال شدہ ایپ کے سرٹیفکیٹ سے موازنہ کرتا ہے۔ اگر ڈیٹا مماثل ہے، تو Android Intent Filter کو تصدیق شدہ کے طور پر نشان زد کرتا ہے، اور اس ڈومین کے تمام بعد کے لنکس خود بخود، بغیر ڈائیلاگ کے کھلتے ہیں۔

xml
// AndroidManifest.xml — App Link کے لیے Intent Filter
<activity
    android:name=".ui.ProductActivity"
    android:exported="true">
    <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="example.com"
            android:pathPrefix="/product" />
    </intent-filter>
</activity>

autoVerify="true" ایک لازمی وصف ہے جو Android کو assetlinks.json کی تصدیق کرنے کی ہدایت دیتا ہے۔ اس وصف کے بغیر، Intent Filter تصدیق نہیں ہوگا اور App Link فعال نہیں ہوگا۔ Android ایک Activity میں متعدد Intent Filter کو سپورٹ کرتا ہے — مختلف میزبانوں کے لیے۔ سسٹم ہر میزبان کو الگ سے چیک کرتا ہے۔ تصدیق غیر متزامن طور پر کی جاتی ہے اور پہلے کلک پر 20 سیکنڈ تک لگ سکتی ہے۔

خودکار ری ڈائریکٹ

کامیاب تصدیق کے بعد، Android تصدیق شدہ Intent Filter سے مماثل کسی بھی لنک پر کلک کرنے پر خود بخود ایپ کھولتا ہے۔ صارف کو انتخاب کا ڈائیلاگ نظر نہیں آتا — ایپ فوری طور پر کھل جاتی ہے۔ اگر ایپ انسٹال نہیں ہے، تو لنک براؤزر میں کھلتا ہے (عام ویب پیج کی طرح)۔ یہ مثالی صارف کا تجربہ ہے: غیر ضروری اقدامات کے بغیر ہموار منتقلی۔

اہم: خودکار ری ڈائریکٹ صرف https اسکیما کے لیے کام کرتا ہے۔ App Link http (غیر محفوظ پروٹوکول) کو سپورٹ نہیں کرتا۔ اگر صارف دستی طور پر http لنک کھولتا ہے (مثال کے طور پر، SMS سے)، Android تصدیق نہیں کرتا اور انتخاب کا ڈائیلاگ دکھاتا ہے۔ ایپ کی طرف جانے والے تمام لنکس کے لیے https استعمال کرنے اور سرور پر HTTP سے HTTPS ری ڈائریکٹ ترتیب دینے کی سفارش کی جاتی ہے۔

App Link Android پر Deep Link کا ارتقاء ہے، متبادل نہیں۔ ان کے درمیان فرق بنیادی ہے۔ عام Deep Link (Custom URL Scheme) کسٹم اسکیما (myapp://) کے ساتھ اور autoVerify کے بغیر Intent Filter کے ذریعے کام کرتا ہے۔ Android چیک نہیں کرتا کہ ایپ واقعی اس اسکیما سے وابستہ ہے یا نہیں — کوئی بھی ایپ myapp:// رجسٹر کر سکتی ہے اور لنکس روک سکتی ہے۔

App Link Deep Link کے تین مسائل حل کرتا ہے۔ پہلا: سیکورٹی — Digital Asset Links کے ذریعے تصدیق لنکس کی روک تھام کو روکتی ہے۔ دوسرا: صارف کا تجربہ — انتخاب کے ڈائیلاگ کی عدم موجودگی ہدف کی کارروائی میں تبدیلی کو 20–40% تک بڑھاتی ہے۔ تیسرا: انڈیکسنگ — Google https App Link URLs کو انڈیکس کرتا ہے اور تلاش کے نتائج میں ایپ کے اندر موجود مواد کے لنکس کے طور پر دکھا سکتا ہے۔

مطابقت: App Link Android 6.0+ (99% آلات) پر کام کرتا ہے۔ Android 5.x (Lollipop) کے لیے انتخاب کے ڈائیلاگ کے ساتھ عام Deep Link استعمال کیا جاتا ہے۔ لہذا دونوں میکانزم کو سپورٹ کرنے کی سفارش کی جاتی ہے: جدید آلات کے لیے App Link اور پرانے ورژنز کے لیے فال بیک کے طور پر Custom URL Scheme۔ autoVerify="true" والا Intent Filter پسماندہ مطابقت نہیں توڑتا — Android < 6 پر وصف کو نظر انداز کیا جاتا ہے۔

خصوصیتDeep LinkApp Link
اسکیماکسٹم (myapp://)HTTPS (https://domain)
تصدیقنہیںassetlinks.json
انتخاب کا ڈائیلاگدکھایا جاتا ہےخودکار ری ڈائریکٹ
Android ورژنAPI 1+API 23+ (6.0+)
Google انڈیکسنگنہیںہاں (https URL)

App Link کی ترتیب کے لیے تین مراحل درکار ہیں: مینی فیسٹ میں Intent Filter کی تشکیل، سرور پر assetlinks.json رکھنا اور تصدیق کی جانچ۔ پہلا مرحلہ AndroidManifest.xml میں android:autoVerify="true" کے ساتھ Intent Filter شامل کرنا ہے۔ https اسکیما، میزبان اور ان راستوں کی وضاحت کرنا ضروری ہے جنہیں ایپ کو ہینڈل کرنا چاہیے۔ راستوں میں ذیلی فولڈرز کے لیے وائلڈ کارڈ (*) ہو سکتے ہیں۔

دوسرا مرحلہ assetlinks.json بنانا ہے۔ فائل Android Studio (Tools → App Links Assistant) کے ذریعے بنائی جا سکتی ہے۔ اسسٹنٹ ڈیبگنگ اور ٹیسٹنگ میں بھی مدد کرتا ہے۔ فائل سرور پر /.well-known/assetlinks.json پتے پر رکھی جاتی ہے۔ سرور کو Content-Type: application/json واپس کرنا چاہیے اور بغیر ری ڈائریکٹ کے HTTPS کے ذریعے قابل رسائی ہونا چاہیے۔ Google Play Console بھی Publishing سیکشن میں App Link کی تصدیق کی حیثیت دکھاتا ہے۔

  1. شامل کریں AndroidManifest.xml میں android:autoVerify="true" کے ساتھ Intent Filter
  2. حاصل کریں سرٹیفکیٹ کا SHA256 فنگر پرنٹ (keytool یا App Links Assistant)
  3. بنائیں package_name اور sha256_cert_fingerprints کے ساتھ assetlinks.json
  4. رکھیں فائل کو HTTPS سرور پر /.well-known/assetlinks.json پتے پر
  5. جانچیں adb کے ذریعے تصدیق: adb shell dumpsync domain_verification

ٹیسٹنگ — تیسرا مرحلہ۔ جانچ کے لیے adb استعمال کریں: کمانڈ adb shell am start -W -a android.intent.action.VIEW -d «https://example.com/product/42» ایپ کھولتی ہے۔ اگر ایپ کی بجائے براؤزر کھلتا ہے، تو assetlinks.json اور autoVerify چیک کریں۔ Android Studio App Links Assistant میں ایک بلٹ ان ٹیسٹر ہے: یہ ہر ڈومین اور راستے کے لیے تصدیق کی حیثیت دکھاتا ہے۔ خودکار جانچ کے لیے، Intent Matcher کے ساتھ Android Testing Library استعمال کریں۔

عملدرآمد کی خصوصیات

Android 12 (API 31) نے App Link پروسیسنگ میں تبدیلیاں کیں۔ ایک نیا ڈومین مخصوص تصدیق شامل کیا گیا: سسٹم ہر لنک کو انفرادی طور پر چیک کرتا ہے، پورے Intent Filter کو نہیں۔ یہ سیکورٹی بڑھاتا ہے، لیکن نئے راستے شامل کرتے وقت assetlinks.json فائل کو اپ ڈیٹ کرنے کی ضرورت ہوتی ہے۔ Android 12 نے ADB کے ساتھ Android App Links Assistant بھی متعارف کروایا — شیل کے ذریعے تصدیق کے انتظام کے لیے کمانڈز۔

متعدد ڈومینز — پروڈکشن کے لیے ایک عام منظرنامہ۔ ایپ example.com، m.example.com اور example.org سے لنکس ہینڈل کر سکتی ہے۔ ہر ڈومین کے لیے متعلقہ سرور پر الگ assetlinks.json درکار ہے۔ مینی فیسٹ میں متعدد Intent Filter شامل کیے جاتے ہیں — ایک فی ڈومین۔ تمام ڈومینز HTTPS کے ذریعے قابل رسائی ہونے چاہئیں اور آزادانہ طور پر تصدیق پاس کرنی چاہیے۔

App Link اور Jetpack Navigation — جدید Android ایپس میں App Link کو ہینڈل کرنے کا تجویز کردہ طریقہ۔ Jetpack Navigation nav_graph.xml میں یا NavDeepLinkRequest کے ذریعے اعلانیہ deep link کو سپورٹ کرتا ہے۔ یہ نیویگیشن کو آسان بناتا ہے: ڈویلپر بیان کرتا ہے کہ کسی مخصوص URL کے لیے کون سی اسکرین کھلتی ہے، اور Navigation جزو خود Intent کو ہینڈل کرتا ہے اور نیویگیشن اسٹیک کو بحال کرتا ہے۔ Google App Link کے لیے Jetpack Navigation استعمال کرنے کی سفارش کرتا ہے۔

kotlin
// Jetpack Navigation کے ذریعے App Link کی پروسیسنگ
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        handleDeepLink(intent)
    }

    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        handleDeepLink(intent)
    }

    private fun handleDeepLink(intent: Intent) {
        intent.data?.let { uri ->
            navController.handleDeepLink(NavDeepLinkRequest
                .Builder
                .fromUri(uri)
                .build()
            )
        }
    }
}

Google Play Store اشاعت کے وقت App Link چیک کرتا ہے۔ اگر مینی فیسٹ میں autoVerify کے ساتھ Intent Filter ہے لیکن assetlinks.json دستیاب نہیں ہے یا غلط ہے، تو Google Play انتباہ کے ساتھ اپ ڈیٹ مسترد کر سکتا ہے۔ ڈویلپر کنسول (Policy and Programs → App Links) میں ہر ڈومین کی تصدیق کی حیثیت ظاہر ہوتی ہے۔ اشاعت سے پہلے ہمیشہ حیثیت چیک کریں — اپ ڈیٹ مسترد ہونے کے بعد اسے ٹھیک کرنا ریلیز میں تاخیر کرتا ہے۔

اکثر پوچھے گئے سوالات

Android پر App Link Deep Link سے کیسے مختلف ہے؟

App Link Digital Asset Links کے ذریعے تصدیق کے ساتھ Deep Link ہے۔ اہم فرق: App Link کسٹم کے بجائے https اسکیما استعمال کرتا ہے، انتخاب کا ڈائیلاگ نہیں دکھاتا اور Google کے ذریعے انڈیکس ہوتا ہے۔ عام Deep Link Android کے تمام ورژنز پر کام کرتا ہے لیکن دستی ایپ انتخاب کی ضرورت ہوتی ہے۔

assetlinks.json کہاں رکھنا چاہیے؟

فائل HTTPS سرور کی جڑ میں /.well-known/assetlinks.json پتے پر رکھی جاتی ہے۔ سرور کو Content-Type: application/json واپس کرنا چاہیے۔ دستخطی سرٹیفکیٹ تبدیل کرنے یا نئے ڈومینز شامل کرنے پر فائل کو اپ ڈیٹ کرنا چاہیے۔

App Link خود بخود ایپ کیوں نہیں کھولتا؟

بنیادی وجوہات: Intent Filter میں android:autoVerify="true" کی عدم موجودگی، assetlinks.json HTTPS کے ذریعے دستیاب نہیں، غلط SHA256 فنگر پرنٹ، مختلف دستخطی سرٹیفکیٹ (debug vs release)۔ adb shell dumpsync domain_verification کے ذریعے تصدیق کی حیثیت چیک کریں۔

کیا اپنے ڈومین کے بغیر App Link استعمال کیا جا سکتا ہے؟

نہیں — App Link کے لیے قابل رسائی assetlinks.json کے ساتھ HTTPS سرور درکار ہے۔ اگر آپ کے پاس ڈومین نہیں ہے، تو فائل کو ہوسٹ کرنے کے لیے Firebase Hosting یا GitHub Pages استعمال کریں۔ متبادل: Custom URL Scheme (تصدیق کے بغیر) یا Firebase Dynamic Links۔

کیا App Link Android 5 پر کام کرتا ہے؟

نہیں — App Link Android 6.0 (API 23) اور اس سے اوپر سپورٹ ہے۔ Android 5 پر، android:autoVerify="true" والا Intent Filter وصف کو نظر انداز کرتا ہے اور انتخاب کے ڈائیلاگ کے ساتھ عام Deep Link کے طور پر کام کرتا ہے۔ پسماندہ مطابقت کے لیے دونوں میکانزم کو سپورٹ کرنے کی سفارش کی جاتی ہے۔

خلاصہ

  • App Link — Android کے لیے Deep Link کا ارتقاء: ایپ میں خودکار منتقلی کے ساتھ https لنک
  • Digital Asset Links — سرور پر assetlinks.json کے ذریعے خفیہ تصدیق
  • دستخطی سرٹیفکیٹ کا SHA256 فنگر پرنٹ — ڈویلپر کو ڈومین سے جوڑنے والا کلیدی عنصر
  • android:autoVerify="true" — App Link کو فعال کرنے کے لیے لازمی Intent Filter وصف
  • سیکیورٹی — App Link تیسرے فریق کی ایپس کو لنکس روکنے سے روکتا ہے
  • Google Play Store اشاعت کے وقت App Link تصدیق چیک کرتا ہے اور غلطیوں پر مسترد کرتا ہے
  • Jetpack Navigation — اعلانیہ deep link کے ساتھ App Link ہینڈل کرنے کا تجویز کردہ طریقہ

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں