अपने सभी ऐप्लिकेशन और वेबसाइटों पर, क्रेडेंशियल को आसानी से शेयर करने की सुविधा चालू करके, उपयोगकर्ताओं को ज़्यादा से ज़्यादा सुविधाएं दें. जब कई वेबसाइटें और 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 में आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने के लिए, यह तरीका अपनाएं:
- Play Console खोलें और डीप लिंक पेज (उपयोगकर्ताओं की संख्या बढ़ाएं > डीप लिंक) पर जाएं.
- ऐप्लिकेशन का कॉन्फ़िगरेशन टैब में जाकर, डोमेन जोड़ें पर क्लिक करें.
- अपनी वेबसाइट का डोमेन डालें.
- क्रेडेंशियल शेयर करने की सेटिंग चालू करें टॉगल को चालू करें.
- जनरेट की गई JSON फ़ाइल कॉपी करें और उसे तय की गई जगह पर पब्लिश करें (
https://YOUR_DOMAIN/.well-known/assetlinks.json
प्रोटोकॉल के मुताबिक), या मौजूदा assetlinks.json फ़ाइल में ज़रूरी जानकारी जोड़ें. - वेबसाइट असोसिएशन बनाएं पर क्लिक करें.
अगर ऐसा हो जाता है, तो आपको डीप लिंक पेज पर वापस ले जाया जाएगा.
किसी मौजूदा डोमेन के लिए क्रेडेंशियल शेयर करने की सुविधा चालू करना
किसी मौजूदा डोमेन के लिए, Play Console में आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने के लिए, यह तरीका अपनाएं:
- ऐप्लिकेशन कॉन्फ़िगरेशन टैब चुनें.
- डोमेन सेक्शन में, ऐप्लिकेशन कॉन्फ़िगरेशन में जाकर, क्रेडेंशियल शेयर करने की सेटिंग कॉलम में चालू करें पर क्लिक करें.
- जनरेट की गई JSON फ़ाइल कॉपी करें और उसे बताई गई जगह पर पब्लिश करें
(या मौजूदा
assetlinks.json
फ़ाइल में ज़रूरी जानकारी जोड़ें). - क्रेडेंशियल शेयर करने की सुविधा चालू करें पर क्लिक करें.
अगर ऐसा हो जाता है, तो आपको डीप लिंक पेज पर वापस ले जाया जाएगा.
सिर्फ़ डिजिटल एसेट लिंक (डीएल) का इस्तेमाल करके, क्रेडेंशियल शेयर करने की सुविधा सेट अप करना
कई ऐप्लिकेशन या वेबसाइटों वाले जटिल सेटअप के लिए, क्रेडेंशियल शेयर करने की सुविधा को मैन्युअल तरीके से कॉन्फ़िगर करने के लिए, डिजिटल ऐसेट लिंक (डीएल) का इस्तेमाल करें.
ज़रूरी शर्तें
आसानी से क्रेडेंशियल शेयर करने की सुविधा सेट अप करने से पहले, पक्का करें कि आपके पास हर प्लैटफ़ॉर्म के लिए ये चीज़ें हों:
हर Android ऐप्लिकेशन के लिए:
- ऐप्लिकेशन की
build.gradle
फ़ाइल में बताया गया Android ऐप्लिकेशन आईडी. - साइनिंग सर्टिफ़िकेट के SHA256 फ़िंगरप्रिंट.
- (सुझाया गया) Credential Manager API की मदद से, उपयोगकर्ता के साइन इन करने की सुविधा लागू की गई हो.
हर वेबसाइट के लिए:
- डिजिटल एसेट लिंक (डीएल) सिंटैक्स का पालन करके, हर डोमेन पर
/.well-known/assetlinks.json
फ़ाइल पब्लिश करने की सुविधा. - खाता मैनेज करने वाले सभी डोमेन (साइन इन, साइन अप, पासवर्ड बदलना या पासवर्ड रीसेट करने वाले फ़ॉर्म) को एचटीटीपीएस से ऐक्सेस किया जा सकता हो.
Android ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल शेयर करने की सुविधा चालू करना
सभी ऐप्लिकेशन और वेबसाइटों पर क्रेडेंशियल शेयर करने की सुविधा को कॉन्फ़िगर करने के लिए, डिजिटल एसेट लिंक स्टेटमेंट की सूचियां बनाई और पब्लिश की जाती हैं. इन सूचियों से यह पता चलता है कि किन इकाइयों (वेबसाइटों या Android ऐप्लिकेशन) को क्रेडेंशियल शेयर करने की अनुमति है.
क्रेडेंशियल शेयर करने के संबंध का एलान करने के लिए:
डीएल के स्टेटमेंट की सूची के सिंटैक्स का पालन करके, वेबसाइट और 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 फ़िंगरप्रिंट.
डिजिटल ऐसेट लिंक की JSON फ़ाइल को साइन-इन डोमेन पर यहां होस्ट करें:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, जहांDOMAIN
पूरी तरह से क्वालीफ़ाइड है और एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय,OPTIONAL_PORT
को हटा दिया जाना चाहिए.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
स्टेटमेंट का इस्तेमाल करके, अपने ऐप्लिकेशन का नया वर्शन पब्लिश किए बिना स्टेटमेंट में बदलाव किया जा सकता है.मेनिफ़ेस्ट में स्टेटमेंट का रेफ़रंस देने के लिए,
<application>
में मौजूद अपने ऐप्लिकेशन कीAndroidManifest.xml
फ़ाइल में यह लाइन जोड़ें:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Google Play Console में अपने Android ऐप्लिकेशन का नया वर्शन पब्लिश करना
इन चरणों को पूरा करने के बाद, आपकी वेबसाइट और Android ऐप्लिकेशन के बीच क्रेडेंशियल शेयर करने की सुविधा सेट अप हो जाएगी.
ध्यान दें कि क्रेडेंशियल शेयर करने के लिए डीएल सेट अप करने का यह एकमात्र मान्य तरीका नहीं है. हालांकि, इस तरीके से क्रेडेंशियल शेयर करने वाले नेटवर्क में नई इकाइयों को जोड़ने की प्रोसेस को आसान बनाया जा सकता है. साथ ही, कोड को फिर से इस्तेमाल करने में मदद मिलती है और अपडेट के दौरान गड़बड़ियों की संभावना कम हो जाती है.