Android ऐप्लिकेशन के लिंक, एचटीटीपी यूआरएल होते हैं. ये उपयोगकर्ताओं को सीधे आपके Android ऐप्लिकेशन में मौजूद किसी खास कॉन्टेंट पर ले जाते हैं. Android ऐप्लिकेशन के लिंक, आपके ऐप्लिकेशन पर ज़्यादा ट्रैफ़िक ला सकते हैं. साथ ही, इनसे आपको यह पता लगाने में मदद मिलती है कि ऐप्लिकेशन के किस कॉन्टेंट का सबसे ज़्यादा इस्तेमाल किया जाता है. इसके अलावा, इंस्टॉल किए गए ऐप्लिकेशन में कॉन्टेंट ढूंढने और उसे शेयर करने में उपयोगकर्ताओं को आसानी होती है.
Android ऐप्लिकेशन के लिंक की सुविधा जोड़ने के लिए:
- अपने मेनिफ़ेस्ट में इंटेंट फ़िल्टर बनाएं.
- इनकमिंग लिंक को हैंडल करने के लिए, अपने ऐप्लिकेशन की गतिविधियों में कोड जोड़ें.
- डिजिटल एसेट लिंक की मदद से, अपने ऐप्लिकेशन और वेबसाइट को जोड़ें.
Android Studio में मौजूद ऐप लिंक असिस्टेंट, सिलसिलेवार तरीके से इस प्रोसेस को आसान बनाता है. इसके बारे में यहां बताया गया है.
ऐप्लिकेशन के लिंक कैसे काम करते हैं और उनके क्या फ़ायदे हैं, इस बारे में ज़्यादा जानने के लिए, Android ऐप्लिकेशन के लिंक मैनेज करना लेख पढ़ें.
इंटेंट फ़िल्टर जोड़ना
Android Studio में मौजूद ऐप लिंक असिस्टेंट की मदद से, मेनिफ़ेस्ट में इंटेंट फ़िल्टर बनाए जा सकते हैं. साथ ही, अपनी वेबसाइट के मौजूदा यूआरएल को अपने ऐप्लिकेशन की गतिविधियों से मैप किया जा सकता है. ऐप लिंक असिस्टेंट, इंटेंट को हैंडल करने के लिए हर गतिविधि में टेंप्लेट कोड भी जोड़ता है.
इंटेंट फ़िल्टर और यूआरएल हैंडलिंग जोड़ने के लिए, यह तरीका अपनाएं:
- टूल > ऐप लिंक असिस्टेंट को चुनें.
- यूआरएल मैपिंग एडिटर खोलें पर क्लिक करें. इसके बाद, यूआरएल मैपिंग सूची में सबसे नीचे मौजूद, जोड़ें
पर क्लिक करें, ताकि नया यूआरएल मैप किया जा सके. नए यूआरएल की मैपिंग के लिए जानकारी जोड़ें:
पहली इमेज. अपनी साइट के लिंक स्ट्रक्चर के बारे में बुनियादी जानकारी जोड़ें, ताकि यूआरएल को आपके ऐप्लिकेशन में मौजूद गतिविधियों से मैप किया जा सके.
- होस्ट फ़ील्ड में अपनी वेबसाइट का यूआरएल डालें.
जिन यूआरएल को मैप करना है उनके लिए,
path,pathPrefixयाpathPatternजोड़ें.उदाहरण के लिए, अगर आपके पास रेसिपी शेयर करने वाला कोई ऐप्लिकेशन है और उसमें सभी रेसिपी एक ही गतिविधि में उपलब्ध हैं, तो आपकी वेबसाइट की सभी रेसिपी एक ही /recipe डायरेक्ट्री में होंगी. ऐसे में, pathPrefix का इस्तेमाल करें और /recipe डालें. इस तरह, यूआरएल http://www.recipe-app.com/recipe/grilled-potato-salad, उस गतिविधि से मैप हो जाता है जिसे आपने अगले चरण में चुना है.
- वह गतिविधि चुनें जिस पर यूआरएल, उपयोगकर्ताओं को ले जाएं.
- ठीक है पर क्लिक करें.
आपको यूआरएल मैपिंग एडिटर विंडो दिखेगी. ऐप्लिकेशन लिंक असिस्टेंट, आपके यूआरएल मैपिंग के आधार पर इंटेंट फ़िल्टर को
AndroidManifest.xmlफ़ाइल में जोड़ता है. साथ ही, झलक फ़ील्ड में बदलावों को हाइलाइट करता है. अगर आपको कोई बदलाव करना है, तो इंटेंट फ़िल्टर में बदलाव करने के लिए, AndroidManifest.xml खोलें पर क्लिक करें. ज़्यादा जानने के लिए, इनकमिंग लिंक के लिए इंटेंट फ़िल्टर देखें.ऐप्लिकेशन लिंक असिस्टेंट की मुख्य टूल विंडो,
AndroidManifest.xmlफ़ाइल में मौजूद सभी डीप लिंक भी दिखाती है. साथ ही, मेनिफ़ेस्ट से जुड़ी सभी समस्याएं ठीक करें पर क्लिक करके, गलत कॉन्फ़िगरेशन को तुरंत ठीक किया जा सकता है.
दूसरी इमेज. ऐप लिंक असिस्टेंट में, मेनिफ़ेस्ट के गलत कॉन्फ़िगरेशन को ठीक करें. ध्यान दें: ऐप्लिकेशन को अपडेट किए बिना, आने वाले समय में जोड़े जाने वाले लिंक के साथ काम करने के लिए, यूआरएल की ऐसी मैपिंग तय करें जो उन यूआरएल के साथ काम करे जिन्हें आपको जोड़ना है. साथ ही, अपने ऐप्लिकेशन की होम स्क्रीन का यूआरएल भी शामिल करें, ताकि उसे खोज के नतीजों में शामिल किया जा सके.
यह पुष्टि करने के लिए कि यूआरएल मैपिंग सही तरीके से काम कर रही है, यूआरएल मैपिंग की जांच करें फ़ील्ड में कोई यूआरएल डालें.
अगर यह सही तरीके से काम कर रहा है, तो आपको एक मैसेज दिखेगा. इससे पता चलेगा कि आपने जो यूआरएल डाला है वह आपकी चुनी गई गतिविधि से मैप हो गया है.
इनकमिंग लिंक मैनेज करना
यूआरएल मैपिंग के सही तरीके से काम करने की पुष्टि करने के बाद, अपने बनाए गए इंटेंट को मैनेज करने के लिए लॉजिक जोड़ें:
- ऐप लिंक असिस्टेंट में जाकर, Select Activity पर क्लिक करें.
- सूची में से कोई गतिविधि चुनें और कोड डालें पर क्लिक करें.
ऐप लिंक असिस्टेंट, आपकी गतिविधि में इस तरह का कोड जोड़ता है:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... // ATTENTION: This was auto-generated to handle app links. val appLinkIntent: Intent = intent val appLinkAction: String? = appLinkIntent.action val appLinkData: Uri? = appLinkIntent.data ... }
Java
@Override void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... // ATTENTION: This was auto-generated to handle app links. Intent appLinkIntent = getIntent(); String appLinkAction = appLinkIntent.getAction(); Uri appLinkData = appLinkIntent.getData(); ... }
यह कोड अपने-आप में पूरा नहीं है. अब आपको appLinkData में मौजूद यूआरआई के आधार पर कोई कार्रवाई करनी होगी. जैसे, उससे जुड़ा कॉन्टेंट दिखाना. उदाहरण के लिए, रेसिपी शेयर करने वाले ऐप्लिकेशन के लिए, आपका कोड इस सैंपल जैसा दिख सकता है:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... handleIntent(intent) } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) handleIntent(intent) } private fun handleIntent(intent: Intent) { val appLinkAction = intent.action val appLinkData: Uri? = intent.data if (Intent.ACTION_VIEW == appLinkAction) { appLinkData?.lastPathSegment?.also { recipeId -> Uri.parse("content://com.recipe_app/recipe/") .buildUpon() .appendPath(recipeId) .build().also { appData -> showRecipe(appData) } } } }
Java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... handleIntent(getIntent()); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { String appLinkAction = intent.getAction(); Uri appLinkData = intent.getData(); if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){ String recipeId = appLinkData.getLastPathSegment(); Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon() .appendPath(recipeId).build(); showRecipe(appData); } }
अपने ऐप्लिकेशन को अपनी वेबसाइट से जोड़ना
आपके ऐप्लिकेशन के लिए यूआरएल सहायता सेट अप करने के बाद, ऐप लिंक असिस्टेंट एक डिजिटल ऐसेट लिंक फ़ाइल जनरेट करता है. इसका इस्तेमाल करके, अपनी वेबसाइट को अपने ऐप्लिकेशन से जोड़ा जा सकता है.
डिजिटल एसेट लिंक फ़ाइल का इस्तेमाल करने के बजाय, Search Console में अपनी साइट और ऐप्लिकेशन को जोड़ा जा सकता है.
अगर आपके ऐप्लिकेशन के लिए Play ऐप्लिकेशन साइनिंग का इस्तेमाल किया जा रहा है, तो आम तौर पर ऐप्लिकेशन लिंक असिस्टेंट से जनरेट किया गया सर्टिफ़िकेट फ़िंगरप्रिंट, उपयोगकर्ताओं के डिवाइसों पर मौजूद सर्टिफ़िकेट फ़िंगरप्रिंट से मैच नहीं करता. ऐसे में, आपको अपने ऐप्लिकेशन के लिए सही डिजिटल ऐसेट लिंक JSON स्निपेट, Play Console डेवलपर खाते में Release > Setup > App signing में जाकर मिल सकता है.
ऐप लिंक असिस्टेंट का इस्तेमाल करके, अपने ऐप और वेबसाइट को जोड़ने के लिए, ऐप लिंक असिस्टेंट में जाकर Open डिजिटल ऐसेट लिंक फ़ाइल जनरेटर पर क्लिक करें. इसके बाद, यह तरीका अपनाएं:
तीसरी इमेज. डिजिटल एसेट लिंक फ़ाइल जनरेट करने के लिए, अपनी साइट और ऐप्लिकेशन की जानकारी डालें.
- अपनी साइट का डोमेन और अपना ऐप्लिकेशन आईडी डालें.
अपनी डिजिटल ऐसेट लिंक फ़ाइल में One Tap साइन इन की सुविधा शामिल करने के लिए, ऐप्लिकेशन और वेबसाइट के बीच क्रेडेंशियल शेयर करने की सुविधा को चुनें. इसके बाद, अपनी साइट का साइन-इन यूआरएल डालें. इससे आपकी डिजिटल ऐसेट लिंक फ़ाइल में यह स्ट्रिंग जुड़ जाती है. इससे यह पता चलता है कि आपका ऐप्लिकेशन और वेबसाइट, साइन-इन क्रेडेंशियल शेयर करते हैं:
delegate_permission/common.get_login_creds.साइनिंग कॉन्फ़िगरेशन तय करें या कोई कीस्टोर फ़ाइल चुनें.
पक्का करें कि आपने अपने ऐप्लिकेशन के रिलीज़ के लिए तैयार बिल्ड के लिए, सही रिलीज़ कॉन्फ़िगरेशन या कीस्टोर फ़ाइल चुनी हो. इसके अलावा, डीबग के लिए बिल्ड के लिए, डीबग कॉन्फ़िगरेशन या कीस्टोर फ़ाइल चुनी हो. अगर आपको प्रोडक्शन बिल्ड सेट अप करना है, तो रिलीज़ कॉन्फ़िगरेशन का इस्तेमाल करें. अगर आपको अपने बिल्ड की जांच करनी है, तो डीबग कॉन्फ़िगरेशन का इस्तेमाल करें.
- डिजिटल ऐसेट लिंक फ़ाइल जनरेट करें पर क्लिक करें.
- Android Studio से फ़ाइल जनरेट होने के बाद, उसे डाउनलोड करने के लिए Save file पर क्लिक करें.
assetlinks.jsonफ़ाइल को अपनी साइट पर अपलोड करें. साथ ही,https://yoursite/.well-known/assetlinks.jsonपर जाकर, सभी के लिए इसे पढ़ने का ऐक्सेस दें.अहम जानकारी: सिस्टम, एन्क्रिप्ट यानी सुरक्षित किए गए एचटीटीपीएस प्रोटोकॉल का इस्तेमाल करके, डिजिटल ऐसेट लिंक फ़ाइल की पुष्टि करता है. पक्का करें कि
assetlinks.jsonफ़ाइल को एचटीटीपीएस कनेक्शन से ऐक्सेस किया जा सकता हो. इससे कोई फ़र्क़ नहीं पड़ता कि आपके ऐप्लिकेशन के इंटेंट फ़िल्टर मेंhttpsशामिल है या नहीं.- लिंक करें और पुष्टि करें पर क्लिक करके, यह पुष्टि करें कि आपने डिजिटल ऐसेट लिंक फ़ाइल को सही जगह पर अपलोड किया है.
ऐप लिंक असिस्टेंट, डिजिटल ऐसेट लिंक फ़ाइल की पुष्टि कर सकता है. इस फ़ाइल को आपकी वेबसाइट पर पब्लिश किया जाना चाहिए. मेनिफ़ेस्ट फ़ाइल में बताए गए हर डोमेन के लिए, Assistant आपकी वेबसाइट पर मौजूद फ़ाइल को पार्स करती है. साथ ही, पुष्टि करने के लिए जांच करती है और किसी भी गड़बड़ी को ठीक करने के तरीके के बारे में पूरी जानकारी देती है.
डिजिटल एसेट लिंक फ़ाइल की मदद से, अपनी वेबसाइट को अपने ऐप्लिकेशन से जोड़ने के बारे में ज़्यादा जानने के लिए, वेबसाइट असोसिएशन का एलान करें पर जाएं.
Android ऐप्लिकेशन के लिंक की जांच करना
आपके लिंक सही गतिविधि खोलते हैं, इसकी पुष्टि करने के लिए यह तरीका अपनाएं:
- ऐप लिंक असिस्टेंट में, ऐप्लिकेशन के लिंक टेस्ट करें पर क्लिक करें.
- यूआरएल फ़ील्ड में वह यूआरएल डालें जिसकी आपको जांच करनी है. उदाहरण के लिए, http://recipe-app.com/recipe/grilled-potato-salad.
- जांच करें पर क्लिक करें.
चौथी इमेज. ऐप्लिकेशन लिंक की जांच करें डायलॉग बॉक्स, जिसमें जांच किए जा रहे यूआरएल और जांच पूरी होने का मैसेज दिख रहा है.
अगर यूआरएल मैपिंग को सही तरीके से सेट अप नहीं किया गया है या वह मौजूद नहीं है, तो ऐप्लिकेशन के लिंक की जांच करें डायलॉग बॉक्स में, यूआरएल के नीचे गड़बड़ी का मैसेज दिखता है. अगर ऐसा नहीं होता है, तो Android Studio आपके ऐप्लिकेशन को डिवाइस या एम्युलेटर में, तय की गई गतिविधि पर लॉन्च करता है. इसके लिए, वह साफ़ तौर पर जानकारी देने वाला डायलॉग बॉक्स ("ऐप्लिकेशन चुनने वाला टूल") नहीं दिखाता है. साथ ही, ऐप्लिकेशन लिंक की जांच डायलॉग बॉक्स में, कार्रवाई पूरी होने का मैसेज दिखाता है. जैसा कि इमेज 4 में दिखाया गया है.
अगर Android Studio ऐप्लिकेशन को लॉन्च नहीं कर पाता है, तो Android Studio की Run विंडो में गड़बड़ी का मैसेज दिखता है.
ऐप्लिकेशन लिंक असिस्टेंट की मदद से Android ऐप्लिकेशन के लिंक टेस्ट करने के लिए, आपके पास कनेक्ट किया गया कोई डिवाइस या Android 6.0 (एपीआई लेवल 23) या इसके बाद के वर्शन पर चलने वाला वर्चुअल डिवाइस होना चाहिए. ज़्यादा जानकारी के लिए, डिवाइस कनेक्ट करने या एवीडी बनाने का तरीका पढ़ें.