स्टेटमेंट की सूची, किसी जानी-पहचानी जगह पर मौजूद JSON-एन्कोड की गई फ़ाइल या स्निपेट होती है.
स्टेटमेंट की सूची की जगह
यह जानने के लिए कि इस सूची को कहां सेव करना चाहिए, ब्यौरे की सूची बनाना देखें.
सिंटैक्स
स्टेटमेंट सूची या स्निपेट में ये चीज़ें शामिल होती हैं JSON ऑब्जेक्ट के तौर पर, एक या उससे ज़्यादा वेबसाइट या ऐप्लिकेशन स्टेटमेंट की JSON कैटगरी. ये स्टेटमेंट किसी भी क्रम में हो सकते हैं. इसका सामान्य सिंटैक्स यहां दिया गया है:
[ { "relation": ["relation_string "], "target": {target_object } } , ... ]
- relation
- एक या उससे ज़्यादा स्ट्रिंग का कलेक्शन, जो टारगेट के बारे में बताए जा रहे संबंध के बारे में बताता है. तय की गई रिलेशन स्ट्रिंग की सूची देखें. उदाहरण:
delegate_permission/common.handle_all_urls
- टारगेट
- वह टारगेट ऐसेट जिस पर यह स्टेटमेंट लागू होता है. उपलब्ध टारगेट टाइप:
-
वेबसाइट टारगेट "target": { "namespace": "web", "site": "
site_root_url " }- नाम स्थान वेबसाइटों के लिए
web
होना चाहिए.- साइट
- ऐसी साइट का यूआरआई जो स्टेटमेंट का टारगेट है. यह फ़ॉर्मैट
http[s]://<hostname>[:<port>]
फ़ॉर्मैट में होता है, जहां <hostname> सभी शर्तें पूरी करता है. साथ ही, एचटीटीपी के लिए पोर्ट 80 या एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करते समय, <port> का इस्तेमाल न करें. वेबसाइट टारगेट सिर्फ़ रूट डोमेन हो सकता है. इसे किसी खास सब-डायरेक्ट्री तक सीमित नहीं किया जा सकता. इस रूट के तहत मौजूद सभी डायरेक्ट्री मैच होंगी. सबडोमेन को मैच नहीं माना जाना चाहिए: इसका मतलब है कि अगर स्टेटमेंट फ़ाइल www.example.com पर होस्ट की गई है, तो www.puppies.example.com को उससे मिलता-जुलता नहीं माना जाना चाहिए. वेबसाइट टारगेट मैचिंग से जुड़े नियमों और उदाहरणों के लिए, टारगेट से जुड़े दस्तावेज़ देखें. जैसे:http://www.example.com
-
Android ऐप्लिकेशन टारगेट "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- नाम स्थान Android ऐप्लिकेशन के लिए
- ,
android_app
होना चाहिए. - package_name
- उस ऐप्लिकेशन के पैकेज का पूरी तरह क्वालिफ़ाइड नाम जिस पर यह स्टेटमेंट लागू होता है. उदाहरण:
com.google.android.apps.maps
- sha256_cert_fingerprints
- इस स्टेटमेंट पर लागू होने वाले ऐप्लिकेशन के सर्टिफ़िकेट का अपरकेस SHA265 फ़िंगरप्रिंट. इसका हिसाब लगाने के लिए,
openssl
या Javakeytool
का इस्तेमाल किया जा सकता है. यहां बताया गया है कि यह कैसे किया जा सकता है:openssl x509 -in $CERTFILE -noout -fingerprint -sha256
keytool -printcert -file $CERTFILE | grep SHA256
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
.अगर Play ऐप्लिकेशन साइनिंग का इस्तेमाल किया जा रहा है डाउनलोड किया है, तो
keytool
को चलाकर बनाया गया सर्टिफ़िकेट फ़िंगरप्रिंट या स्थानीय तौर परopenssl
आम तौर पर, चालू की गई उपयोगकर्ताओं का डिवाइस. Release > Setup > App Integrity में जाकर, यह पुष्टि की जा सकती है कि आपने अपने ऐप्लिकेशन के लिए, Play Console डेवलपर खाते में, Play ऐप्लिकेशन साइनिंग का इस्तेमाल किया है या नहीं. अगर आपने ऐसा किया है, तो आपको उसी पेज पर अपने ऐप्लिकेशन के लिए सही डिजिटल ऐसेट लिंक JSON स्निपेट भी दिखेगा.
-
स्टेटमेंट की सूची का उदाहरण
यहां वेबसाइट के स्टेटमेंट की एक सूची का उदाहरण दिया गया है, जिसमें वेबसाइटों और ऐप्लिकेशन, दोनों के बारे में स्टेटमेंट शामिल हैं: http://example.digitalassetlinks.org/.well-known/assetlinks.json
दर्जनों या उससे ज़्यादा स्टेटमेंट के लिए
कुछ मामलों में, हो सकता है कि एक प्रधानाचार्य अलग-अलग तरह के बयान देना या इस बारे में स्टेटमेंट बनाने की ज़रूरत पड़ सकती है कि टारगेट के एक ही सेट से अलग-अलग मुख्य खातों को शामिल करना. उदाहरण के लिए, कोई वेबसाइट हो सकती है हर देश के हिसाब से अलग-अलग टॉप लेवल डोमेन पर उपलब्ध हो. साथ ही, उन सभी उसी मोबाइल ऐप्लिकेशन के बारे में स्टेटमेंट दे सकते हैं.
इन स्थितियों में, शामिल करने के स्टेटमेंट मददगार हो सकते हैं. इस तरीके का इस्तेमाल करके, कई अलग-अलग प्रिंसिपल से एक मुख्य जगह पर पॉइंटर सेट अप किए जा सकते हैं. यह मुख्य जगह, सभी प्रिंसिपल के लिए स्टेटमेंट तय करती है.
उदाहरण के लिए, आपके पास यह तय करने की सुविधा होगी कि `https://example.com/includedstatements.json` होना चाहिए. यह फ़ाइल इनमें से कोई भी हो सकती है: को ऊपर दिए गए उदाहरणों के समान सामग्री शामिल करने के लिए कॉन्फ़िगर किया गया है.
किसी वेब साइट से शामिल फ़ाइल पर पॉइंटर सेट अप करने के लिए, `https://example.com/.well-known/assetlinks.json` को इससे बदलें:
[{ "include": "https://example.com/includedstatements.json" }]
किसी Android ऐप्लिकेशन से पॉइंटर सेट अप करने के लिए, फ़ाइल में, `res/values/strings.xml` को इससे बदलें:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
ज़्यादा जानकारी
स्टेटमेंट की सूची के फ़ॉर्मैट और उससे जुड़े कॉन्सेप्ट के बारे में ज़्यादा जानकारी, हमारे स्पेसिफ़िकेशन दस्तावेज़ में दी गई है.