स्टेटमेंट लिस्ट सिंटैक्स

स्टेटमेंट की सूची, किसी जानी-पहचानी जगह पर मौजूद 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
  • "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 या Java keytool का इस्तेमाल किया जा सकता है. यहां बताया गया है कि यह कैसे किया जा सकता है:
    • 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>

ज़्यादा जानकारी

स्टेटमेंट की सूची के फ़ॉर्मैट और उससे जुड़े कॉन्सेप्ट के बारे में ज़्यादा जानकारी, हमारे स्पेसिफ़िकेशन दस्तावेज़ में दी गई है.