একটি বিবৃতি তালিকা তৈরি করা

বিবৃতিগুলি একটি JSON-এনকোডেড বিবৃতি তালিকায় একটি প্রিন্সিপালের একটি সুপরিচিত স্থানে হোস্ট করা হয়, যেমন সম্পদ লিঙ্কের স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত করা হয়েছে। একটি বিবৃতি তালিকায় এক বা একাধিক বিবৃতি থাকে এবং একজন প্রধানের শুধুমাত্র একটি বিবৃতি তালিকা থাকতে পারে।

বিবৃতি তালিকা সিনট্যাক্স

বিবৃতি তালিকা সিনট্যাক্স দেখুন।

বিবৃতি তালিকা অবস্থান

বিবৃতি তালিকাটি একটি সুপরিচিত স্থানে হোস্ট করা হয় যা প্রধানের প্রকারের উপর নির্ভর করে (বিবৃতি তৈরি করা ওয়েবসাইট বা অ্যাপ)।

ওয়েবসাইট বিবৃতি তালিকা

একটি ওয়েবসাইটে, একটি বিবৃতি তালিকা নিম্নলিখিত ঠিকানায় অবস্থিত একটি পাঠ্য ফাইল:

scheme : // domain /.well-known/assetlinks.json

.well-known ফোল্ডারের নামের ডটটি নোট করুন।

HTTP 200 ব্যতীত সার্ভার থেকে যেকোনো প্রতিক্রিয়া একটি ত্রুটি হিসাবে বিবেচিত হয় এবং এর ফলে একটি খালি বিবৃতি তালিকা তৈরি হবে৷ HTTPS-এর জন্য, সার্টিফিকেট চেইন ছাড়া যে কোনো সংযোগ যা বিশ্বস্ত রুট তালিকার সাথে যাচাই করা যেতে পারে তার ফলাফলও একটি খালি বিবৃতি তালিকা হবে।

উদাহরণ

এখানে একটি ওয়েবসাইটে একটি উদাহরণ বিবৃতি তালিকা আছে: http://example.digitalassetlinks.org/.well-known/assetlinks.json

অ্যান্ড্রয়েড অ্যাপ স্টেটমেন্ট তালিকা

একটি অ্যান্ড্রয়েড অ্যাপে, স্টেটমেন্ট লিস্ট হল একটি JSON স্নিপেট যার সিনট্যাক্স একটি ওয়েবসাইট স্টেটমেন্ট ফাইলের মতো, কিন্তু এটি strings.xml ফাইলে এমবেড করা আছে এবং পরবর্তীতে দেখানো ম্যানিফেস্টে উল্লেখ করা হয়েছে।

AndroidManifest.xml-এ:

<manifest>
  <application>
    ...
    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    ...
  </application>
</manifest>

res/values/strings.xml-এ:

<resources>
  ...
  <string name="asset_statements">
    ... statement list ...
  </string>
</resources>

উদাহরণ

এখানে একটি Android অ্যাপের জন্য একটি উদাহরণ res/values/strings.xml স্নিপেট রয়েছে যা অ্যাপের সাথে লোকেশন শেয়ারিং সমর্থন করে (একটি Android বৈশিষ্ট্য বর্তমানে সমর্থিত নয়):

<resources>
    ...
    <string name="asset_statements">
      [{
        \"relation\": [\"delegate_permission/common.share_location\"],
        \"target\": {
          \"namespace\": \"web\",
          \"site\": \"https://example.com\"
        }
      }]
    </string>
</resources>

একটি লক্ষ্য মেলে

প্রতিটি বিবৃতি একটি লক্ষ্য সম্পর্কে. আপনি যখন একটি বিবৃতি গ্রহণ করেন, তখন আপনাকে অবশ্যই বাস্তবে কিছু সত্তার বিরুদ্ধে একটি বিবৃতিতে লক্ষ্যের সাথে মেলাতে হবে। বিবৃতি লক্ষ্য সত্তা মেলে, বিবৃতি প্রযোজ্য. একটি লক্ষ্য একটি নির্দিষ্ট সত্তার সাথে মেলে কিনা তা নির্ধারণের জন্য এখানে নিয়ম রয়েছে:

ওয়েবসাইট টার্গেট

একটি ওয়েবসাইটের জন্য, সাইটের স্কিম, হোস্ট এবং পোর্ট অবশ্যই ঠিক মেলে। HTTP এবং HTTPS (যথাক্রমে 80 এবং 443) এর জন্য ডিফল্ট পোর্টগুলি অন্তর্নিহিতভাবে ধরে নেওয়া হয়; যদি কোনো স্টেটমেন্ট টার্গেট http://www.example.com:80 বর্ণনা করে, তাহলে ওয়েবসাইট http://www.example.com-কে একটি মিল বলে গণ্য করা হবে।

উদাহরণ

নিম্নলিখিত বিবৃতি লক্ষ্য দেওয়া

"target": {
  "namespace": "web",
  "site": "https://www.google.com"
}

নিম্নলিখিত URI গুলি মিলবে:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.com/

নিম্নলিখিত URLগুলি মিলবে না :

  • http://www.google.com/ ( ভুল স্কিম )
  • https://google.com/ ( হোস্টের নাম মেলে না )
  • https://www.google.com:444/ ( পোর্ট মেলে না )

অ্যাপ লক্ষ্য

একটি অ্যাপের জন্য, লক্ষ্যের সার্টিফিকেট হ্যাশ এবং প্যাকেজের নাম অবশ্যই অ্যাপ্লিকেশনের সাথে হুবহু মেলে।