Android ऐप्लिकेशन और वेबसाइटों पर आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करें

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

क्रेडेंशियल शेयर करने की सुविधा सेट अप करने के दो तरीके हैं:

  • Play Console: Android ऐप्लिकेशन के साथ क्रेडेंशियल शेयर करने की सुविधा सेट अप करते समय, ज़्यादातर डेवलपर के लिए इसका सुझाव दिया जाता है. इस तरीके से, आपको अपने ऐप्लिकेशन का नया वर्शन रिलीज़ किए बिना ही, क्रेडेंशियल शेयर करने की सुविधा को कॉन्फ़िगर करने की सुविधा मिलती है. ध्यान दें कि Play Console का इस्तेमाल करने पर भी, आपको अपनी वेबसाइट पर मान्य assetlinks.json फ़ाइल पब्लिश करनी होगी.
  • डिजिटल एसेट लिंक (डीएल): ये ऐडवांस इस्तेमाल के उदाहरणों के लिए सही हैं. जैसे, ज़्यादा कॉन्फ़िगरेशन वाले एक से ज़्यादा ऐप्लिकेशन या डोमेन के साथ काम करना.

सबसे सही तरीके

उपयोगकर्ताओं को बेहतर अनुभव और सुरक्षा देने के लिए, इन टचपॉइंट पर क्रेडेंशियल शेयर करने की सुविधा को आसानी से लागू करें:

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

इस तरीके से, क्रेडेंशियल मैनेजमेंट का एक यूनिफ़ाइड सिस्टम बनता है. इससे, उपयोगकर्ताओं के लिए सुविधाएं बेहतर होती हैं और सुरक्षा भी बढ़ती है.

खाता मैनेजमेंट वेबसाइटों को डिज़ाइन करते समय, हमारा सुझाव है कि आप खाता मैनेजमेंट साइटों के लिए इन सबसे सही तरीकों का पालन करें:

हमारा सुझाव है कि Android ऐप्लिकेशन डिज़ाइन करते समय, अपने ऐप्लिकेशन को Android क्रेडेंशियल मैनेजर के साथ इंटिग्रेट करें.

Play Console का इस्तेमाल करके क्रेडेंशियल शेयर करने की सुविधा सेट अप करना

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

ज़रूरी शर्तें

Play Console का इस्तेमाल करके क्रेडेंशियल शेयर करने की सुविधा सेट अप करने से पहले, पक्का करें कि आपके पास:

  • डीप लिंक और ऐप्लिकेशन कॉन्फ़िगरेशन सेक्शन को ऐक्सेस करने के लिए, Play Console की ज़रूरी अनुमतियां. अगर आप खाते के मालिक नहीं हैं, तो अपने Play Console एडमिन से सही ऐक्सेस पाने के लिए कहें.
  • डिजिटल ऐसेट लिंक (डीएल) सिंटैक्स का पालन करके, हर डोमेन पर /.well-known/assetlinks.json फ़ाइल पब्लिश करने की सुविधा.

नए डोमेन के लिए क्रेडेंशियल शेयर करने की सुविधा चालू करना

नए डोमेन के लिए, Play Console में आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने के लिए, यह तरीका अपनाएं:

  1. Play Console खोलें और डीप लिंक पेज (उपयोगकर्ताओं की संख्या बढ़ाएं > डीप लिंक) पर जाएं.
  2. ऐप्लिकेशन का कॉन्फ़िगरेशन टैब में जाकर, डोमेन जोड़ें पर क्लिक करें.
  3. अपनी वेबसाइट का डोमेन डालें.
  4. क्रेडेंशियल शेयर करने की सेटिंग चालू करें टॉगल को चालू करें.
  5. जनरेट की गई JSON फ़ाइल कॉपी करें और उसे तय की गई जगह पर पब्लिश करें (https://YOUR_DOMAIN/.well-known/assetlinks.json प्रोटोकॉल के मुताबिक), या मौजूदा assetlinks.json फ़ाइल में ज़रूरी जानकारी जोड़ें.
  6. वेबसाइट असोसिएशन बनाएं पर क्लिक करें.

अगर ऐसा हो जाता है, तो आपको डीप लिंक पेज पर वापस ले जाया जाएगा.

किसी मौजूदा डोमेन के लिए क्रेडेंशियल शेयर करने की सुविधा चालू करना

किसी मौजूदा डोमेन के लिए, Play Console में आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने के लिए, यह तरीका अपनाएं:

  1. ऐप्लिकेशन कॉन्फ़िगरेशन टैब चुनें.
  2. डोमेन सेक्शन में, ऐप्लिकेशन कॉन्फ़िगरेशन में जाकर, क्रेडेंशियल शेयर करने की सेटिंग कॉलम में चालू करें पर क्लिक करें.
  3. जनरेट की गई JSON फ़ाइल कॉपी करें और उसे बताई गई जगह पर पब्लिश करें (या मौजूदा assetlinks.json फ़ाइल में ज़रूरी जानकारी जोड़ें).
  4. क्रेडेंशियल शेयर करने की सुविधा चालू करें पर क्लिक करें.

अगर ऐसा हो जाता है, तो आपको डीप लिंक पेज पर वापस ले जाया जाएगा.

सिर्फ़ डिजिटल एसेट लिंक (डीएल) का इस्तेमाल करके, क्रेडेंशियल शेयर करने की सुविधा सेट अप करना

कई ऐप्लिकेशन या वेबसाइटों वाले जटिल सेटअप के लिए, क्रेडेंशियल शेयर करने की सुविधा को मैन्युअल तरीके से कॉन्फ़िगर करने के लिए, डिजिटल ऐसेट लिंक (डीएल) का इस्तेमाल करें.

ज़रूरी शर्तें

आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने से पहले, पक्का करें कि आपके पास हर प्लैटफ़ॉर्म के लिए ये चीज़ें हों:

हर Android ऐप्लिकेशन के लिए:

हर वेबसाइट के लिए:

  • डिजिटल एसेट लिंक (डीएल) सिंटैक्स का पालन करके, हर डोमेन पर /.well-known/assetlinks.json फ़ाइल पब्लिश करने की सुविधा.
  • खाता मैनेज करने वाले सभी डोमेन (साइन इन, साइन अप, पासवर्ड बदलना या पासवर्ड रीसेट करने वाले फ़ॉर्म) को एचटीटीपीएस से ऐक्सेस किया जा सकता हो.

Android ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल शेयर करने की सुविधा चालू करना

सभी ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल शेयर करने की सुविधा को कॉन्फ़िगर करने के लिए, डिजिटल एसेट लिंक स्टेटमेंट की सूचियां बनाई और पब्लिश की जाती हैं. इन सूचियों से यह पता चलता है कि किन इकाइयों (वेबसाइटों या Android ऐप्लिकेशन) को क्रेडेंशियल शेयर करने की अनुमति है.

क्रेडेंशियल शेयर करने के संबंध का एलान करने के लिए:

  1. डीएल के स्टेटमेंट की सूची के सिंटैक्स का पालन करके, वेबसाइट और Android ऐप्लिकेशन से लिंक करने वाले स्टेटमेंट के साथ assetlinks.json फ़ाइल बनाएं:

    [
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"web",
          "site":URL
        }
      },
      {
        "relation":[
          "delegate_permission/common.get_login_creds"
        ],
        "target":{
          "namespace":"android_app",
          "package_name":"APP_ID",
          "sha256_cert_fingerprints":[
            "SHA_HEX_VALUE"
          ]
        }
      }
    ]
    

    यहां URL आपकी साइट का यूआरएल है, APP_ID आपका Android ऐप्लिकेशन आईडी है, और SHA_HEX_VALUE आपके Android ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट का SHA256 फ़िंगरप्रिंट है.

    relation फ़ील्ड में, एलान किए जा रहे संबंध के बारे में बताया जाता है. यह बताने के लिए कि ऐप्लिकेशन और साइटें, साइन इन करने के क्रेडेंशियल शेयर करती हैं, उनके बीच के संबंध को delegate_permission/common.get_login_creds के तौर पर बताएं. डीएल में रिलेशन स्ट्रिंग के बारे में ज़्यादा जानें.

    target फ़ील्ड एक ऑब्जेक्ट है, जो उस एसेट के बारे में बताता है जिस पर एलान लागू होता है.

    इन फ़ील्ड से किसी वेबसाइट की पहचान की जाती है:

    namespace

    web

    site

    वेबसाइट का यूआरएल, https://domain[:optional_port] फ़ॉर्मैट में. उदाहरण के लिए, https://www.example.com.

    domain एट्रिब्यूट के लिए, पूरी तरह क्वालिफ़ाइड डोमेन नेम का इस्तेमाल करना ज़रूरी है. साथ ही, एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, optional_port एट्रिब्यूट को हटाना होगा.

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

    सबडोमेन को मैच नहीं माना जाता: इसका मतलब है कि अगर आपने domain को www.example.com के तौर पर सेट किया है, तो डोमेन www.counter.example.com आपके ऐप्लिकेशन से नहीं जुड़ा है.

    इन फ़ील्ड से किसी Android ऐप्लिकेशन की पहचान की जाती है:

    नाम स्थान

    android_app

    package_name

    ऐप्लिकेशन के मेनिफ़ेस्ट में बताया गया पैकेज का नाम. उदाहरण के लिए, com.example.android

    sha256_cert_fingerprints

    आपके ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट के SHA256 फ़िंगरप्रिंट.

  2. डिजिटल ऐसेट लिंक की JSON फ़ाइल को साइन-इन डोमेन पर यहां होस्ट करें: https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json , जहां DOMAIN पूरी तरह से क्वालीफ़ाइड है और एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, OPTIONAL_PORT को हटा दिया जाना चाहिए.

  3. Android ऐप्लिकेशन में असोसिएशन का एलान करने के लिए, अपने Android ऐप्लिकेशन की res/values/strings.xml फ़ाइल में एक स्टेटमेंट जोड़ें. यह स्टेटमेंट, पहले चरण में बनाई गई स्टेटमेंट की सूची से जुड़ा होना चाहिए. ऐसा ऑब्जेक्ट जोड़ें जिसमें assetlinks.json फ़ाइलों के बारे में जानकारी हो, जिन्हें लोड करना है. उदाहरण के लिए:

      <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\"
    }]
    </string>
    

    DOMAIN और OPTIONAL_PORT को बदलें (एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, इसे हटाना होगा)—उदाहरण के लिए, https://www.example.com. स्ट्रिंग में इस्तेमाल किए गए सभी अपॉस्ट्रफ़ और कोटेशन मार्क को एस्केप करें.

    strings.xml फ़ाइल में JSON स्निपेट भी जोड़ा जा सकता है, जैसा कि डीएल के दस्तावेज़ में दिखाया गया है. हालांकि, include स्टेटमेंट का इस्तेमाल करके, अपने ऐप्लिकेशन का नया वर्शन पब्लिश किए बिना स्टेटमेंट में बदलाव किया जा सकता है.

  4. मेनिफ़ेस्ट में स्टेटमेंट का रेफ़रंस देने के लिए, <application> में मौजूद अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में यह लाइन जोड़ें:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. Google Play Console में अपने Android ऐप्लिकेशन का नया वर्शन पब्लिश करना

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

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