आरंभ करना

खास जानकारी

Digital Asset Links प्रोटोकॉल और API की मदद से, कोई ऐप्लिकेशन या वेबसाइट अन्य ऐप्लिकेशन या वेबसाइटों के बारे में सार्वजनिक तौर पर बयान दे सकती है. इन बयानों की पुष्टि की जा सकती है. उदाहरण के लिए, कोई वेबसाइट यह एलान कर सकती है कि वह किसी Android ऐप्लिकेशन से जुड़ी है. इसके अलावा, वह यह एलान कर सकती है कि उसे उपयोगकर्ता के क्रेडेंशियल किसी दूसरी वेबसाइट के साथ शेयर करने हैं.

डिजिटल ऐसेट लिंक के कुछ संभावित इस्तेमाल यहां दिए गए हैं:

  • वेबसाइट A यह एलान करती है कि अगर मोबाइल डिवाइसों पर ऐप्लिकेशन इंस्टॉल है, तो उसकी साइट के लिंक, तय किए गए ऐप्लिकेशन में खुलने चाहिए.
  • वेबसाइट A यह एलान करती है कि वह अपने Chrome उपयोगकर्ता के क्रेडेंशियल, वेबसाइट B के साथ शेयर कर सकती है. इससे उपयोगकर्ता को वेबसाइट B में लॉग इन करने की ज़रूरत नहीं पड़ेगी, अगर वह वेबसाइट A में लॉग इन है.
  • ऐप्लिकेशन A यह एलान करता है कि वह डिवाइस की सेटिंग, जैसे कि जगह की जानकारी को वेबसाइट B के साथ शेयर कर सकता है.

मुख्य शब्द

  • मुख्य इकाई: मुख्य इकाई, स्टेटमेंट देने वाला ऐप्लिकेशन या वेबसाइट होती है. डिजिटल ऐसेट लिंक में, प्रिंसिपल हमेशा वह ऐप्लिकेशन या वेबसाइट होती है जो स्टेटमेंट लिस्ट को होस्ट करती है.
  • स्टेटमेंट की सूची: स्टेटमेंट, स्टेटमेंट की सूची में शामिल होते हैं. इसमें एक या उससे ज़्यादा स्टेटमेंट होते हैं. स्टेटमेंट लिस्ट, क्लियरटेक्स्ट में होती है और सार्वजनिक तौर पर ऐक्सेस की जा सकती है. यह ऐसी जगह पर होती है जिसे प्रिंसिपल कंट्रोल करता है. साथ ही, इसे स्पूफ़ करना या इसमें छेड़छाड़ करना मुश्किल होता है. यह एक अलग फ़ाइल हो सकती है या किसी अन्य बड़े आइटम का सेक्शन हो सकती है. उदाहरण के लिए, किसी वेबसाइट पर यह पूरी फ़ाइल होती है. वहीं, Android ऐप्लिकेशन में यह ऐप्लिकेशन मेनिफ़ेस्ट का एक सेक्शन होता है. स्टेटमेंट को कोई भी व्यक्ति देख सकता है और उनकी पुष्टि कर सकता है. इसके लिए, मालिकाना हक वाले तरीकों का इस्तेमाल नहीं किया जाता. ज़्यादा जानकारी के लिए, स्टेटमेंट की सूची से जुड़ा दस्तावेज़ देखें.
  • स्टेटमेंट: स्टेटमेंट, JSON फ़ॉर्मैट में तैयार किया गया एक स्ट्रक्चर होता है. इसमें संबंध (स्टेटमेंट में क्या करने के लिए कहा गया है. उदाहरण के लिए: क्रेडेंशियल शेयर करने की सुविधा चालू करें) और टारगेट (वह वेबसाइट या ऐप्लिकेशन जिस पर संबंध लागू होता है) शामिल होता है. इसलिए, हर स्टेटमेंट एक वाक्य की तरह होता है, जिसमें principal, target के बारे में relation बताता है.
  • स्टेटमेंट कंज्यूमर: स्टेटमेंट कंज्यूमर, प्रिंसिपल से स्टेटमेंट लिस्ट का अनुरोध करता है. साथ ही, किसी प्रिंसिपल के ख़िलाफ़ स्टेटमेंट की मौजूदगी की जांच करता है. अगर स्टेटमेंट मौजूद है, तो वह बताई गई कार्रवाई कर सकता है. ज़्यादा जानकारी के लिए, स्टेटमेंट इस्तेमाल करने से जुड़ा दस्तावेज़ देखें.

इस्तेमाल का उदाहरण

यहां एक आसान उदाहरण दिया गया है. इसमें बताया गया है कि www.example.com वेबसाइट, Digital Asset Links का इस्तेमाल करके यह कैसे तय कर सकती है कि उस साइट के यूआरएल के सभी लिंक, ब्राउज़र के बजाय किसी तय किए गए ऐप्लिकेशन में खुलें:

  1. वेबसाइट www.example.com, इस पते पर स्टेटमेंट की सूची पब्लिश करती है: https://www.example.com/.well-known/assetlinks.json. यह किसी साइट पर मौजूद स्टेटमेंट लिस्ट का आधिकारिक नाम और जगह की जानकारी है. किसी अन्य जगह पर मौजूद स्टेटमेंट लिस्ट या किसी अन्य नाम वाली स्टेटमेंट लिस्ट, इस साइट के लिए मान्य नहीं है. हमारे उदाहरण में, स्टेटमेंट की सूची में एक स्टेटमेंट शामिल है. इससे Android ऐप्लिकेशन को अपनी साइट पर लिंक खोलने की अनुमति मिलती है:
    [{
        "relation": ["delegate_permission/common.handle_all_urls"],
        "target" : { "namespace": "android_app", "package_name": "com.example.app",
                     "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
      }]
    स्टेटमेंट की सूची में, [ ] मार्क के अंदर स्टेटमेंट की एक ऐरे शामिल होती है. हालांकि, हमारी उदाहरण फ़ाइल में सिर्फ़ एक स्टेटमेंट शामिल है. sha256_cert_fingerprints आपके ऐप्लिकेशन के साइनिंग सर्टिफ़िकेट के SHA256 फ़िंगरप्रिंट हैं. ज़्यादा जानकारी के लिए, Android ऐप्लिकेशन के लिंक से जुड़ा दस्तावेज़ देखें.
  2. ऊपर दिए गए स्टेटमेंट में शामिल Android ऐप्लिकेशन में एक इंटेंट फ़िल्टर है. यह उन यूआरएल के स्कीम, होस्ट, और पाथ पैटर्न के बारे में बताता है जिन्हें यह हैंडल करना चाहता है. इस मामले में, यह https://www.example.com है. इंटेंट फ़िल्टर में एक खास एट्रिब्यूट android:autoVerify शामिल है. यह Android M के लिए नया है. इससे पता चलता है कि ऐप्लिकेशन इंस्टॉल होने पर, Android को इंटेंट फ़िल्टर में बताई गई वेबसाइट पर स्टेटमेंट की पुष्टि करनी चाहिए.
  3. कोई उपयोगकर्ता ऐप्लिकेशन इंस्टॉल करता है. Android, autoVerify एट्रिब्यूट के साथ इंटेंट फ़िल्टर देखता है और तय की गई साइट पर स्टेटमेंट की सूची की मौजूदगी की जांच करता है. अगर सूची मौजूद होती है, तो Android यह जांच करता है कि क्या उस फ़ाइल में ऐसा स्टेटमेंट शामिल है जो ऐप्लिकेशन को लिंक हैंडल करने की अनुमति देता है. साथ ही, वह सर्टिफ़िकेट हैश के ज़रिए स्टेटमेंट के ख़िलाफ़ ऐप्लिकेशन की पुष्टि करता है. अगर सब कुछ सही रहा, तो Android, https://www.example.com के सभी इंटेंट को example.com ऐप्लिकेशन पर फ़ॉरवर्ड कर देगा.
  4. उपयोगकर्ता अपने डिवाइस पर https://www.example.com/puppies लिंक पर क्लिक करता है. यह लिंक कहीं भी हो सकता है: ब्राउज़र में, Google Search Appliance के सुझाव में या किसी दूसरी जगह पर. Android, इंटेंट को example.com ऐप्लिकेशन पर भेजता है.
  5. example.com ऐप्लिकेशन को इंटेंट मिलता है और वह इसे हैंडल करने का विकल्प चुनता है. इससे ऐप्लिकेशन में पिल्लों वाला पेज खुल जाता है. अगर किसी वजह से ऐप्लिकेशन ने लिंक को हैंडल करने से मना कर दिया है या ऐप्लिकेशन डिवाइस पर मौजूद नहीं है, तो लिंक को इंटेंट पैटर्न से मेल खाने वाले अगले डिफ़ॉल्ट इंटेंट हैंडलर (अक्सर ब्राउज़र) को भेज दिया जाएगा.

ज़रूरी बातें और सीमाएं:

  • यह प्रोटोकॉल, स्टेटमेंट देने वाले प्रिंसिपल की पुष्टि नहीं करता. हालांकि, स्टेटमेंट किसी ऐसी जगह पर मौजूद होता है जो प्रिंसिपल से जुड़ी होती है और प्रिंसिपल के कंट्रोल में होती है.
  • प्रोटोकॉल, स्टेटमेंट टारगेट की पुष्टि नहीं करता है. हालांकि, यह कॉलर को टारगेट की पुष्टि करने का तरीका उपलब्ध कराता है. उदाहरण के लिए, कोई स्टेटमेंट, सर्टिफ़िकेट हैश और पैकेज के नाम से मोबाइल ऐप्लिकेशन टारगेट की पहचान करता है.
  • प्रोटोकॉल, किसी भी स्टेटमेंट पर कार्रवाई नहीं करता है. इसके बजाय, यह स्टेटमेंट दिखाने की सुविधा चालू करता है. इस्तेमाल करने वाले ऐप्लिकेशन को स्टेटमेंट की पुष्टि करनी होती है. इसके बाद, उसे यह तय करना होता है कि स्टेटमेंट पर कार्रवाई करनी है या नहीं और कैसे करनी है. Android M, आपके लिए इन चरणों को अपने-आप पूरा करता है; उदाहरण के लिए, अगर कोई वेबसाइट लिंक हैंडल करने का काम किसी ऐप्लिकेशन को सौंपती है, तो Android, स्टेटमेंट की जांच करता है और उसकी पुष्टि करता है. साथ ही, टारगेट ऐप्लिकेशन की पुष्टि करता है और फिर ऐप्लिकेशन को दिए गए लिंक को हैंडल करने का विकल्प देता है.
  • यह प्रोटोकॉल, दो तीसरे पक्षों के बारे में स्टेटमेंट देने की अनुमति नहीं देता. इसका मतलब है कि वेबसाइट A, वेबसाइट B के बारे में स्टेटमेंट दे सकती है. हालांकि, वेबसाइट A, वेबसाइट B के वेबसाइट C के साथ संबंध के बारे में स्टेटमेंट नहीं दे सकती. हालांकि, अगर वेबसाइट B को वेबसाइट A पर भरोसा है, तो वह वेबसाइट A पर जाकर यह देख सकती है कि वेबसाइट C को अनुमति देने वाला कोई स्टेटमेंट मौजूद है या नहीं. इसके बाद, वह उस स्टेटमेंट को लागू करने का फ़ैसला कर सकती है.

अगले चरण

  1. देखें कि क्या आपके इस्तेमाल के उदाहरण के लिए कोई दस्तावेज़ मौजूद है.
  2. स्टेटमेंट बनाने के बारे में जानें.