इस गाइड में, आम तौर पर होने वाली समस्याओं और उन्हें हल करने के तरीके के बारे में बताया गया है. Play Console के डीप लिंक पेज या Android Studio की ऐप्लिकेशन लिंक असिस्टेंट में मौजूद समस्या हल करने वाले टूल का भी इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, ऐप्लिकेशन लिंक के लिए डेवलपर टूल देखें.
ऐप्लिकेशन लिंक, ऐप्लिकेशन के बजाय ब्राउज़र में खुलना
- समस्या: आपने एक ऐसे लिंक पर क्लिक किया है जिसे आपका ऐप्लिकेशन खोलना चाहिए, लेकिन वह वेब ब्राउज़र में खुलता है या एक डिसैंबिग्युएशन डायलॉग दिखाता है.
- समाधान:
assetlinks.json
की जांच करें: पक्का करें कि फ़ाइल एक मान्य JSON फ़ाइल हो जिसेhttps://<your-domain>/.well-known/assetlinks.json
पर ऐक्सेस किया जा सकता हो और इसे एचटीटीपीएस के ज़रिए बिना किसी रीडायरेक्ट के ऐक्सेस किया जा सकता हो. ऑनलाइन पुष्टि करने वाले टूल का इस्तेमाल करें.- SHA-256 फ़िंगरप्रिंट की पुष्टि करें: दोबारा जांचें कि
assetlinks.json
में मौजूदsha256_cert_fingerprints
, आपके ऐप्लिकेशन की रिलीज़ के लिए इस्तेमाल की गई साइनिंग कुंजी के फ़िंगरप्रिंट से पूरी तरह मेल खाता हो. अगर Play ऐप्लिकेशन साइनिंग का इस्तेमाल किया जा रहा है, तो Play Console में मौजूद फ़िंगरप्रिंट का इस्तेमाल करें. हस्ताक्षर कैपिटल लेटर में होना चाहिए. autoVerify
की पुष्टि करें: पक्का करें कि आपकीAndroidManifest.xml
फ़ाइल में मौजूद<intent-filter>
मेंandroid:autoVerify="true
" शामिल हो.- सर्वर-साइड पर रीडायरेक्ट की जांच करें:
http
सेhttps
या नॉन-www डोमेन सेwww
पर रीडायरेक्ट करने की वजह से, पुष्टि नहीं हो पाती. - ज़बरदस्ती दोबारा पुष्टि करना: पुष्टि का नया नतीजा पाने के लिए, ऐप्लिकेशन लिंक की जांच करना गाइड में ADB कमांड चलाएं.
Android 15 या इसके बाद के वर्शन पर, डाइनैमिक नियम अपडेट नहीं हो रहे हैं
- समस्या: आपने अपनी
assetlinks.json
फ़ाइल में नियमों को अपडेट किया है, लेकिन नए लिंक को ऐप्लिकेशन से हैंडल नहीं किया जा रहा है. - समाधान:
- ज़बरदस्ती दोबारा पुष्टि करना: बदलावों को टेस्ट करने का सबसे भरोसेमंद तरीका यह है कि
adb shell pm verify-app-links --re-verify. <your-package-name>
का इस्तेमाल करके, ज़बरदस्ती दोबारा फ़ेच करें. - टाइपिंग में की गई गलतियों की जांच करें: अपने नियमों में पैटर्न मैच करने वाले फ़ंक्शन की ध्यान से समीक्षा करें. देखें कि कहीं सिंटैक्स में कोई गड़बड़ी तो नहीं है.
- मेनिफ़ेस्ट फ़िल्टर के नियमों की जांच करें: ऐप्लिकेशन मेनिफ़ेस्ट में इंटेंट फ़िल्टर के नियमों की समीक्षा करें. इससे यह पक्का किया जा सकेगा कि लिंक पाथ को फ़िल्टर न किया जा रहा हो. अगर लिंक को फ़िल्टर किया जा रहा है, तो ऐप्लिकेशन मेनिफ़ेस्ट में इंटेंट फ़िल्टर को कम पाबंदियों वाला बनाएं.
- ज़बरदस्ती दोबारा पुष्टि करना: बदलावों को टेस्ट करने का सबसे भरोसेमंद तरीका यह है कि
लागू करने से जुड़ी सामान्य गड़बड़ियां ठीक करना
अगर Android ऐप्लिकेशन लिंक की पुष्टि नहीं हो पा रही है, तो यहां दी गई सामान्य गड़बड़ियों की जांच करें. इस सेक्शन में, example.com
को प्लेसहोल्डर डोमेन नेम के तौर पर इस्तेमाल किया गया है. इन जांचों को करते समय, example.com
की जगह अपने सर्वर का असली डोमेन नेम डालें.
- इंटेंट फ़िल्टर को गलत तरीके से सेट अप किया गया हो
- देखें कि आपने
<intent-filter>
एलिमेंट में, ऐसा यूआरएल तो शामिल नहीं किया है जिसका मालिकाना हक आपके ऐप्लिकेशन के पास नहीं है. - सर्वर का गलत कॉन्फ़िगरेशन
अपने सर्वर के JSON कॉन्फ़िगरेशन की जांच करें. साथ ही, पक्का करें कि SHA वैल्यू सही हो.
यह भी देखें कि
example.com.
(आखिरी अवधि के साथ) वही कॉन्टेंट दिखाता हो जोexample.com
दिखाता है.- सर्वर साइड रीडायरेक्ट
अगर आपने इस तरह का कोई रीडायरेक्ट सेट अप किया है, तो सिस्टम आपके ऐप्लिकेशन के लिए किसी भी Android ऐप्लिकेशन लिंक की पुष्टि नहीं करता:
http://example.com
सेhttps://example.com
example.com
सेwww.example.com
इस तरह के व्यवहार से, आपके ऐप्लिकेशन की सुरक्षा बनी रहती है.
- सर्वर की मज़बूती
देखें कि आपके क्लाइंट ऐप्लिकेशन, आपके सर्वर से कनेक्ट हो सकते हैं या नहीं.
- ऐसे लिंक जिनकी पुष्टि नहीं की जा सकती
जांच के लिए, जान-बूझकर ऐसे लिंक जोड़े जा सकते हैं जिनकी पुष्टि नहीं की जा सकती. ध्यान रखें कि Android 11 और इससे पहले के वर्शन पर, इन लिंक की वजह से सिस्टम आपके ऐप्लिकेशन के सभी Android ऐप्लिकेशन लिंक की पुष्टि नहीं कर पाता.
- assetlinks.json फ़ाइल में गलत हस्ताक्षर
पुष्टि करें कि आपका हस्ताक्षर सही हो और ऐप्लिकेशन पर हस्ताक्षर करने के लिए इस्तेमाल किए गए हस्ताक्षर से मेल खाता हो. आम तौर पर, ये गलतियां होती हैं:
- ऐप्लिकेशन को डीबग सर्टिफ़िकेट से साइन करना और
assetlinks.json
में सिर्फ़ रिलीज़ सिग्नेचर होना. assetlinks.json
में छोटे अक्षरों वाला हस्ताक्षर होना. हस्ताक्षर कैपिटल लेटर में होना चाहिए.- अगर Play ऐप्लिकेशन साइनिंग की सुविधा का इस्तेमाल किया जा रहा है, तो पक्का करें कि आपने उस हस्ताक्षर का इस्तेमाल किया हो जिसका इस्तेमाल Google, आपके हर ऐप्लिकेशन की रिलीज़ को साइन करने के लिए करता है. वेबसाइटों के बीच संबंध का एलान करने से जुड़े निर्देशों का पालन करके, इस जानकारी की पुष्टि की जा सकती है. इसमें पूरा JSON स्निपेट भी शामिल है.
- ऐप्लिकेशन को डीबग सर्टिफ़िकेट से साइन करना और