Android ऐप्लिकेशन के लिंक जोड़ें

Android ऐप्लिकेशन के लिंक, एचटीटीपी यूआरएल होते हैं. इनकी मदद से, लोग सीधे आपके Android ऐप्लिकेशन में मौजूद किसी खास कॉन्टेंट पर पहुंच सकते हैं. Android ऐप्लिकेशन के लिंक की मदद से, आपके ऐप्लिकेशन पर ज़्यादा ट्रैफ़िक आ सकता है. साथ ही, यह पता लगाया जा सकता है कि ऐप्लिकेशन का कौनसी कॉन्टेंट सबसे ज़्यादा इस्तेमाल किया जाता है. इसके अलावा, इंस्टॉल किए गए ऐप्लिकेशन में लोगों के लिए कॉन्टेंट ढूंढना और शेयर करना आसान हो जाता है.

Android ऐप्लिकेशन के लिंक की सुविधा जोड़ने के लिए:

  1. अपने मेनिफ़ेस्ट में इंटेंट फ़िल्टर बनाएं.
  2. इनकमिंग लिंक को हैंडल करने के लिए, अपने ऐप्लिकेशन की गतिविधियों में कोड जोड़ें.
  3. अपने ऐप्लिकेशन और वेबसाइट को डिजिटल ऐसेट लिंक से जोड़ें.

Android Studio में मौजूद ऐप लिंक असिस्टेंट, इस प्रोसेस को आसान बनाता है. इसके लिए, यह चरण-दर-चरण विज़र्ड का इस्तेमाल करता है. इसके बारे में यहां बताया गया है.

ऐप्लिकेशन लिंक कैसे काम करते हैं और इनसे क्या फ़ायदे मिलते हैं, इस बारे में ज़्यादा जानने के लिए, Android ऐप्लिकेशन के लिंक हैंडल करना लेख पढ़ें.

इंटेंट फ़िल्टर जोड़ना

Android Studio में मौजूद ऐप्लिकेशन लिंक असिस्टेंट, आपके मेनिफ़ेस्ट में इंटेंट फ़िल्टर बनाने में मदद कर सकता है. साथ ही, यह आपकी वेबसाइट के मौजूदा यूआरएल को आपके ऐप्लिकेशन में मौजूद गतिविधियों से मैप कर सकता है. ऐप्लिकेशन लिंक असिस्टेंट, इंटेंट को हैंडल करने के लिए, हर गतिविधि में टेंप्लेट कोड भी जोड़ता है.

इंटेंट फ़िल्टर और यूआरएल हैंडलिंग जोड़ने के लिए, यह तरीका अपनाएं:

  1. टूल > ऐप लिंक असिस्टेंट को चुनें.
  2. **यूआरएल मैपिंग एडिटर खोलें** पर क्लिक करें. इसके बाद, नया यूआरएल मैपिंग जोड़ने के लिए, **यूआरएल मैपिंग** सूची में सबसे नीचे मौजूद, **जोड़ें** पर क्लिक करें.
  3. नए यूआरएल मैपिंग के लिए, यह जानकारी जोड़ें:

    ऐप लिंक असिस्टेंट, आपको यूआरएल मैपिंग की बुनियादी जानकारी देती है

    पहली इमेज. अपने ऐप्लिकेशन में यूआरएल को गतिविधियों से मैप करने के लिए, अपनी साइट के लिंक स्ट्रक्चर के बारे में बुनियादी जानकारी जोड़ें.

    1. होस्ट फ़ील्ड में, अपनी वेबसाइट का यूआरएल डालें.
    2. मैप करने के लिए, यूआरएल के लिए path, pathPrefix, या pathPattern जोड़ें.

      उदाहरण के लिए, अगर आपके पास रेसिपी शेयर करने वाला कोई ऐप्लिकेशन है और उसमें सभी रेसिपी एक ही गतिविधि में उपलब्ध हैं. साथ ही, आपकी वेबसाइट पर मौजूद रेसिपी भी /recipe डायरेक्ट्री में हैं, तो pathPrefix का इस्तेमाल करें और /recipe. डालें. इस तरह, यूआरएल http://www.recipe-app.com/recipe/grilled-potato-salad, अगले चरण में चुनी गई गतिविधि से मैप हो जाता है.

    3. वह ऐक्टिविटी चुनें जिस पर यूआरएल, लोगों को ले जाने चाहिए.
    4. ठीक है पर क्लिक करें.

    आपको यूआरएल मैपिंग एडिटर विंडो दिखेगी. ऐप्लिकेशन लिंक असिस्टेंट, आपके यूआरएल मैपिंग के आधार पर, AndroidManifest.xml फ़ाइल में इंटेंट फ़िल्टर जोड़ता है. साथ ही, Preview फ़ील्ड में किए गए बदलावों को हाइलाइट करता है. अगर आपको कोई बदलाव करना है, तो इंटेंट फ़िल्टर में बदलाव करने के लिए, AndroidManifest.xml खोलें पर क्लिक करें. ज़्यादा जानने के लिए, इनकमिंग लिंक के लिए इंटेंट फ़िल्टर देखें.

    ऐप्लिकेशन लिंक असिस्टेंट टूल की मुख्य विंडो में, AndroidManifest.xml फ़ाइल में मौजूद सभी डीप लिंक भी दिखते हैं. साथ ही, मेनिफ़ेस्ट की सभी समस्याएं ठीक करें पर क्लिक करके, गलत कॉन्फ़िगरेशन को तुरंत ठीक किया जा सकता है.

    ऐप लिंक असिस्टेंट की मदद से, मेनिफ़ेस्ट के गलत कॉन्फ़िगरेशन को ठीक किया जा सकता है.

    ध्यान दें: अपने ऐप्लिकेशन को अपडेट किए बिना, आने वाले समय में जोड़े जाने वाले लिंक को सपोर्ट करने के लिए, ऐसा यूआरएल मैपिंग तय करें जो जोड़े जाने वाले यूआरएल को सपोर्ट करता हो. इसके अलावा, अपने ऐप्लिकेशन की होम स्क्रीन के लिए एक यूआरएल शामिल करें, ताकि वह खोज के नतीजों में दिखे.

  4. यह पुष्टि करने के लिए कि आपका यूआरएल मैपिंग सही तरीके से काम करता है या नहीं, यूआरएल मैपिंग की जांच करें फ़ील्ड में कोई यूआरएल डालें.

    अगर यह सही तरीके से काम कर रहा है, तो पुष्टि की प्रक्रिया पूरी होने का मैसेज दिखाता है कि आपने जो यूआरएल डाला है वह चुनी गई गतिविधि से मैप हो गया है.

इनकमिंग लिंक हैंडल करना

यह पुष्टि करने के बाद कि आपका यूआरएल मैपिंग सही तरीके से काम कर रहा है, बनाए गए इंटेंट को हैंडल करने के लिए लॉजिक जोड़ें:

  1. ऐप्लिकेशन लिंक असिस्टेंट में, गतिविधि चुनें पर क्लिक करें.
  2. सूची में से कोई गतिविधि चुनें और कोड डालें पर क्लिक करें.

ऐप्लिकेशन लिंक असिस्टेंट, आपकी गतिविधि में इस तरह का कोड जोड़ता है:

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 ऐप्लिकेशन साइनिंग का इस्तेमाल किया जा रहा है, तो आम तौर पर ऐप्लिकेशन लिंक असिस्टेंट से जनरेट किया गया सर्टिफ़िकेट फ़िंगरप्रिंट, लोगों के डिवाइसों पर मौजूद फ़िंगरप्रिंट से मेल नहीं खाता. ऐसे में, Play Console में डेवलपर खाते में जाकर, अपने ऐप्लिकेशन के लिए सही डिजिटल ऐसेट लिंक JSON स्निपेट देखा जा सकता है. इसके लिए, Play Console पर जाएं. Release > Setup > App signing

ऐप्लिकेशन लिंक असिस्टेंट का इस्तेमाल करके, अपने ऐप्लिकेशन और वेबसाइट को जोड़ने के लिए, ऐप्लिकेशन लिंक असिस्टेंट में Open Digital Asset Links File Generator पर क्लिक करें. इसके बाद, यह तरीका अपनाएं:

ऐप लिंक असिस्टेंट, आपको यूआरएल मैपिंग की बुनियादी जानकारी देती है

दूसरी इमेज. डिजिटल ऐसेट लिंक फ़ाइल जनरेट करने के लिए, अपनी साइट और ऐप्लिकेशन के बारे में जानकारी डालें.

  1. अपना साइट डोमेन और अपना ऐप्लिकेशन आईडी डालें.
  2. अगर आपको अपने डिजिटल ऐसेट लिंक फ़ाइल में One Tap साइन-इन की सुविधा शामिल करनी है, तो ऐप्लिकेशन और वेबसाइट के बीच क्रेडेंशियल शेयर करने की सुविधा चालू करें को चुनें. इसके बाद, अपनी साइट का साइन-इन यूआरएल डालें. इससे आपकी डिजिटल ऐसेट लिंक फ़ाइल में यह स्ट्रिंग जुड़ जाती है. इससे यह एलान होता है कि आपका ऐप्लिकेशन और वेबसाइट, साइन-इन क्रेडेंशियल शेयर करते हैं: delegate_permission/common.get_login_creds.

  3. साइनिंग कॉन्फ़िगरेशन तय करें या एक कीस्टोर फ़ाइल चुनें.

    पक्का करें कि आपने रिलीज़ के लिए तैयार बिल्ड के लिए सही रिलीज़ कॉन्फ़िगरेशन या कीस्टोर फ़ाइल चुनी हो. साथ ही, अपने ऐप्लिकेशन के डीबग के लिए बिल्ड के लिए, डीबग कॉन्फ़िगरेशन या कीस्टोर फ़ाइल चुनी हो. अगर आपको अपना प्रोडक्शन बिल्ड सेट अप करना है, तो रिलीज़ कॉन्फ़िगरेशन का इस्तेमाल करें. अगर आपको अपने बिल्ड की जांच करनी है, तो डीबग कॉन्फ़िगरेशन का इस्तेमाल करें.

  4. डिजिटल ऐसेट लिंक फ़ाइल जनरेट करें पर क्लिक करें.
  5. Android Studio के फ़ाइल जनरेट करने के बाद, इसे डाउनलोड करने के लिए फ़ाइल सेव करें पर क्लिक करें.
  6. assetlinks.json फ़ाइल को अपनी साइट पर अपलोड करें. साथ ही, सभी के लिए इसे पढ़ने की अनुमति दें. इसके लिए, https://yoursite/.well-known/assetlinks.json पर जाएं.

    अहम जानकारी: सिस्टम, डिजिटल ऐसेट लिंक फ़ाइल की पुष्टि, एनक्रिप्ट किए गए एचटीटीपीएस प्रोटोकॉल के ज़रिए करता है. पक्का करें कि assetlinks.json फ़ाइल को एचटीटीपीएस कनेक्शन से ऐक्सेस किया जा सकता हो. इससे कोई फ़र्क़ नहीं पड़ता कि आपके ऐप्लिकेशन के इंटेंट फ़िल्टर में https शामिल है या नहीं.

  7. यह पुष्टि करने के लिए कि आपने सही डिजिटल ऐसेट लिंक फ़ाइल को सही जगह पर अपलोड किया है, लिंक करें और पुष्टि करें पर क्लिक करें.

ऐप्लिकेशन लिंक असिस्टेंट, डिजिटल ऐसेट लिंक फ़ाइल की पुष्टि कर सकता है. इस फ़ाइल को आपकी वेबसाइट पर पब्लिश किया जाना चाहिए. मेनिफ़ेस्ट फ़ाइल में एलान किए गए हर डोमेन के लिए, असिस्टेंट आपकी वेबसाइट पर मौजूद फ़ाइल को पार्स करता है. साथ ही, पुष्टि की जांच करता है और गड़बड़ियों को ठीक करने के तरीके के बारे में पूरी जानकारी देता है.

वेबसाइट के असोसिएशन का एलान करना लेख में, डिजिटल ऐसेट लिंक फ़ाइल की मदद से अपनी वेबसाइट को अपने ऐप्लिकेशन से जोड़ने के बारे में ज़्यादा जानें.

अपने Android ऐप्लिकेशन के लिंक की जांच करना

यह पुष्टि करने के लिए कि आपके लिंक, सही गतिविधि खोलते हैं या नहीं, यह तरीका अपनाएं:

  1. ऐप लिंक असिस्टेंट में, ऐप्लिकेशन लिंक की जांच करें पर क्लिक करें.
  2. यूआरएल फ़ील्ड में, वह यूआरएल डालें जिसकी जांच करनी है. उदाहरण के लिए, http://recipe-app.com/recipe/grilled-potato-salad.
  3. तीसरी इमेज. ऐप्लिकेशन लिंक की जांच करें डायलॉग में, जांच किया जा रहा यूआरएल और पुष्टि की प्रक्रिया पूरी होने का मैसेज दिख रहा है.

  4. जांच चलाएं पर क्लिक करें.

अगर यूआरएल मैपिंग सही तरीके से सेट अप नहीं किया गया है या मौजूद नहीं है, तो ऐप्लिकेशन लिंक की जांच करें डायलॉग में, यूआरएल के नीचे एक गड़बड़ी का मैसेज दिखता है. इसके अलावा, Android Studio डिवाइस या एम्युलेटर में, आपके ऐप्लिकेशन को तय की गई गतिविधि में लॉन्च करता है. साथ ही, disambiguation डायलॉग ("ऐप्लिकेशन चुनने वाला") नहीं दिखाता है. इसके अलावा, ऐप्लिकेशन लिंक की जांच डायलॉग में, पुष्टि की प्रक्रिया पूरी होने का मैसेज दिखाता है, जैसा कि तीसरी इमेज में दिखाया गया है.

अगर Android Studio, ऐप्लिकेशन लॉन्च नहीं कर पाता है, तो Android Studio की रन विंडो में एक गड़बड़ी का मैसेज दिखता है.

ऐप्लिकेशन लिंक असिस्टेंट की मदद से, Android ऐप्लिकेशन के लिंक की जांच करने के लिए, आपके पास Android 6.0 (एपीआई लेवल 23) या इसके बाद के वर्शन पर चलने वाला कोई डिवाइस कनेक्ट होना चाहिए या कोई वर्चुअल डिवाइस उपलब्ध होना चाहिए. ज़्यादा जानकारी के लिए, डिवाइस कनेक्ट करने या AVD बनाने का तरीका पढ़ें.