অ্যাপ লিঙ্কগুলি সমর্থন করার জন্য, আপনাকে assetlinks.json নামে একটি ডিজিটাল অ্যাসেট লিঙ্ক JSON ফাইল তৈরি করতে হবে এবং এটি আপনার ওয়েবসাইটের একটি সুপরিচিত স্থানে প্রকাশ করতে হবে। এই ফাইলটি সর্বজনীনভাবে ঘোষণা করে যে কোন অ্যাপগুলি আপনার ডোমেনের জন্য লিঙ্কগুলি পরিচালনা করার জন্য অনুমোদিত, এবং অ্যান্ড্রয়েড ডিভাইসগুলি আপনার ডিপ লিঙ্কগুলি যাচাই করার জন্য আপনার সার্ভার থেকে এই ফাইলটি পুনরুদ্ধার করবে।
 অ্যান্ড্রয়েড ১৫+-এ ডায়নামিক অ্যাপ লিঙ্কের জন্য, assetlinks.json ফাইলটি হল আপনার ডায়নামিক রুলস কনফিগারেশন, যেমন পাথ, ফ্র্যাগমেন্ট এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার, সংজ্ঞায়িত করার জায়গা। অ্যান্ড্রয়েড ১৫ (এপিআই লেভেল ৩৫) বা তার পরবর্তী সংস্করণে চলমান অ্যান্ড্রয়েড ডিভাইসগুলি, যাদের গুগল পরিষেবা ইনস্টল করা আছে, পর্যায়ক্রমে ফাইলটি পুনরুদ্ধার করবে এবং অ্যাপের ম্যানিফেস্টে স্ট্যাটিক কনফিগারেশনের সাথে আপনার ডায়নামিক কনফিগারেশন একত্রিত করবে।
 এই নির্দেশিকাটিতে বর্ণনা করা হয়েছে কিভাবে একটি assetlinks.json ফাইল তৈরি করবেন এবং আপনার ওয়েবসাইটে প্রকাশ করবেন। আপনি যদি চান, তাহলে Play Deep Links টুল অথবা Android Studio App Links Assistant থেকে একটি assetlinks.json ফাইল তৈরি করতে পারেন। আরও তথ্যের জন্য, App Links ডেভেলপার টুল দেখুন।
ওয়েবসাইট অ্যাসোসিয়েশন ঘোষণা করুন
ওয়েবসাইটের সাথে সম্পর্কিত অ্যান্ড্রয়েড অ্যাপগুলি নির্দেশ করতে এবং অ্যাপের URL এর উদ্দেশ্য যাচাই করতে আপনাকে অবশ্যই আপনার ওয়েবসাইটে একটি ডিজিটাল অ্যাসেট লিংক JSON ফাইল প্রকাশ করতে হবে। সংশ্লিষ্ট অ্যাপগুলি সনাক্ত করতে JSON ফাইলটি নিম্নলিখিত ক্ষেত্রগুলি ব্যবহার করে:
-  package_name: অ্যাপেরbuild.gradleফাইলে ঘোষিত অ্যাপ্লিকেশন আইডি ।
-  sha256_cert_fingerprints: আপনার অ্যাপের স্বাক্ষরকারী শংসাপত্রের SHA256 আঙ্গুলের ছাপ। আপনি জাভা কীটুল ব্যবহার করে আঙ্গুলের ছাপ তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
 keytool -list -v -keystore my-release-key.keystore
-  এই ক্ষেত্রটি একাধিক ফিঙ্গারপ্রিন্ট সমর্থন করে, যা আপনার অ্যাপের বিভিন্ন সংস্করণ যেমন ডিবাগ এবং প্রোডাকশন বিল্ড সমর্থন করতে ব্যবহার করা যেতে পারে। আপনি যদি আপনার অ্যাপের জন্য Play App Signing ব্যবহার করেন, তাহলে স্থানীয়ভাবে keytoolচালানোর মাধ্যমে তৈরি সার্টিফিকেট ফিঙ্গারপ্রিন্ট সাধারণত ব্যবহারকারীর ডিভাইসের সাথে মিলবে না। আপনি আপনার Play Console ডেভেলপার অ্যাকাউন্টেRelease > Setup > App signingঅধীনে আপনার অ্যাপের জন্য Play App Signing ব্যবহার করছেন কিনা তা যাচাই করতে পারেন; যদি আপনি করেন, তাহলে আপনি একই পৃষ্ঠায় আপনার অ্যাপের জন্য সঠিক Digital Asset Links JSON স্নিপেটও পাবেন।
 নিচের উদাহরণ assetlinks.json ফাইলটি একটি com.example অ্যান্ড্রয়েড অ্যাপকে লিঙ্ক-খোলার অধিকার প্রদান করে:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
একাধিক অ্যাপের সাথে একটি ওয়েবসাইট সংযুক্ত করুন
 একটি ওয়েবসাইট একই assetlinks.json ফাইলের মধ্যে একাধিক অ্যাপের সাথে সংযোগ ঘোষণা করতে পারে। নিম্নলিখিত ফাইল তালিকাটি একটি স্টেটমেন্ট ফাইলের উদাহরণ দেখায় যা দুটি অ্যাপের সাথে পৃথকভাবে সংযোগ ঘোষণা করে এবং https://www.example.com/.well-known/assetlinks.json এ থাকে:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.puppies.app",
    "sha256_cert_fingerprints":
    ["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"]
  }
  },
  {
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.monkeys.app",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
 একই ওয়েব হোস্টের অধীনে বিভিন্ন রিসোর্সের জন্য বিভিন্ন অ্যাপ লিঙ্ক পরিচালনা করতে পারে। উদাহরণস্বরূপ, app1 https://example.com/articles এর জন্য একটি ইন্টেন্ট ফিল্টার ঘোষণা করতে পারে, এবং app2 https://example.com/videos এর জন্য একটি ইন্টেন্ট ফিল্টার ঘোষণা করতে পারে।
একটি অ্যাপের সাথে একাধিক ওয়েবসাইট সংযুক্ত করুন
 একাধিক ওয়েবসাইট তাদের নিজ নিজ assetlinks.json ফাইলে একই অ্যাপের সাথে সম্পর্ক ঘোষণা করতে পারে। নিম্নলিখিত ফাইল তালিকাগুলি app1 এর সাথে example.com এবং example.net এর সম্পর্ক কীভাবে ঘোষণা করতে হয় তার একটি উদাহরণ দেখায়। প্রথম তালিকাটি app1 এর সাথে example.com এর সম্পর্ক দেখায়:
https://www.example.com/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.mycompany.app1",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
 পরবর্তী তালিকাটি example.net এর সাথে app1 এর সম্পর্ক দেখায়। শুধুমাত্র এই ফাইলগুলি যেখানে হোস্ট করা হয়েছে তার অবস্থান ভিন্ন (. com এবং . net ):
https://www.example.net/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.mycompany.app1",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
গতিশীল নিয়ম কনফিগার করুন
 অ্যান্ড্রয়েড ১৫+-এ ডাইনামিক অ্যাপ লিংক আপনাকে সার্ভার-সাইড ডিপ লিঙ্ক ম্যাচিং নিয়ম ব্যবহার করতে দেয় যা আপনার অ্যাপ ম্যানিফেস্টে স্ট্যাটিক্যালি সংজ্ঞায়িত নিয়মগুলির সাথে একসাথে কাজ করে। আপনার assetlinks.json ফাইলটি হল ডায়নামিক নিয়ম সংজ্ঞায়িত করার জায়গা। এটি অন্তর্ভুক্ত করা ঐচ্ছিক।
 Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনে চলমান Android ডিভাইসগুলিতে Google পরিষেবা ইনস্টল করা আছে, তারা পর্যায়ক্রমে আপনার সার্ভার থেকে এই ফাইলটি পুনরুদ্ধার করবে এবং অ্যাপের ম্যানিফেস্টে স্ট্যাটিক কনফিগারেশনের সাথে আপনার ডায়নামিক রুলস কনফিগারেশন মার্জ করবে। ডায়নামিক রুলস সহ assetlinks.json ফাইলের একটি উদাহরণ নিচে দেওয়া হল:
[
  {
    "relation": [
      "delegate_permission/common.handle_all_urls"
    ],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.app",
      "sha256_cert_fingerprints": [...]
    },
    "relation_extensions": {
      "delegate_permission/common.handle_all_urls": {
        "dynamic_app_link_components": [
          {"?": {"dl": "*"}},
          {"#": "app"},
          {"/": "/products/*"},
          {"/": "/shoes", "?": {"in_app": "true"}},
          {"/": "*", "exclude": true}
        ]
      }
    }
  }
]
কোড সম্পর্কে গুরুত্বপূর্ণ বিষয়সমূহ
-  ডায়নামিক অ্যাপ লিংকস একটি নতুন ডিজিটাল অ্যাসেট লিংক রিলেশন এক্সটেনশন যোগ করে যার নাম dynamic_app_link_components, যেখানে আপনি আপনার ডায়নামিক নিয়মগুলি কনফিগার করতে পারেন।
- ডায়নামিক নিয়মে পাথ, ফ্র্যাগমেন্ট এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার অন্তর্ভুক্ত থাকতে পারে।
- আপনি যেকোনো প্যাটার্ন ম্যাচারকে বাদ দেওয়া হিসেবে চিহ্নিত করতে পারেন, যাতে মিলে যাওয়া URL গুলি আপনার অ্যাপটি না খোলে।
-  এই উদাহরণে পাথ ( "/"), ফ্র্যাগমেন্ট ("#"), এবং কোয়েরি প্যারামিটার ("?"), এবং এক্সক্লুডেড ম্যাচার ("exclude") এর জন্য ম্যাচারের উদাহরণ দেখানো হয়েছে।
- যদি ফাইলের কোনও ক্ষেত্র ত্রুটিপূর্ণ বা খালি থাকে, তাহলে অ্যান্ড্রয়েড গতিশীল নিয়মগুলি বাতিল করে দেয় এবং ডিভাইসটি অ্যাপের ম্যানিফেস্টে স্ট্যাটিক্যালি সংজ্ঞায়িত নিয়মগুলিতে ফিরে যায়।
ডায়নামিক নিয়মগুলি কেবলমাত্র সেই নিয়মগুলি নির্দিষ্ট করতে পারে যা আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ঘোষিত ডোমেনের পরিধির মধ্যে প্রযোজ্য। নিচে দেখুন।
গতিশীল নিয়ম ঘোষণা করুন
 Dynamic App Links একটি নতুন dynamic_app_link_components রিলেশন এক্সটেনশন সমর্থন করে, যা নিয়ম অবজেক্টের একটি অ্যারে ধারণ করে। প্রতিটি নিয়ম আপনার অ্যাপটি খুলবে এমন পাথ, টুকরো এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার ব্যবহার করে সংজ্ঞায়িত করা হয়। ম্যাচারগুলিকে পৃথকভাবে বাদ দেওয়া যেতে পারে যাতে তারা আপনার অ্যাপটি খুলতে না পারে। এই সবগুলি ঐচ্ছিক।
-  পথ মেলানো- কী: "/"
- মান: একক স্ট্রিং, URL পাথের জন্য মিলে যাওয়া এক্সপ্রেশন
 
-  খণ্ড মেলানো- কী: "#"
- মান: একক স্ট্রিং, URL খণ্ডের সাথে মিলে যাওয়া এক্সপ্রেশন
 
-  কোয়েরি প্যারামিটার ম্যাচিং- চাবি: "?"
- মান: URL কোয়েরি প্যারামিটারে কী/মান জোড়া মেলানোর জন্য অভিধান।
-  উদাহরণস্বরূপ, অভিধান {" ?", {"dl": "*", "in_app":"true"} কোয়েরি স্ট্রিং "?in_app=true&dl=abc" এর সাথে মিলবে।
- অভিধানে কী/মান জোড়ার ক্রম কোয়েরি স্ট্রিং-এর জোড়ার ক্রম অনুসারে মেলানোর প্রয়োজন নেই। অতিরিক্তভাবে, অভিধানে কোয়েরি স্ট্রিং-এর সমস্ত কী/মান জোড়ার সাথে মেলানোর প্রয়োজন নেই, তবে প্রতিটি অভিধান এন্ট্রির জন্য একটি মিল খুঁজে বের করতে হবে।
-  উদাহরণস্বরূপ, অভিধানটি " ?lang=en&in_app=true&tz=pst&dl=abc" কোয়েরি স্ট্রিং এর সাথেও মিলবে, কিন্তু "?lang=en&tz=pst&dl=abc" কোয়েরি স্ট্রিং এর সাথে মিলবে না।
 
-  বাদ দেওয়া হয়েছে- কী: "বাদ দিন"
-  মান: dynamic_app_link_componentsএ সংজ্ঞায়িত প্রতিটি নিয়মের জন্য ঐচ্ছিক সত্য/মিথ্যা মান (উদাহরণ দেখুন)।
 
প্যাটার্ন ম্যাচারগুলিতে আপনি এই বিশেষ অক্ষরগুলি ব্যবহার করতে পারেন:
- "*" শূন্য বা তার বেশি অক্ষরের সাথে মিলিত হয় যতক্ষণ না প্যাটার্নের ওয়াইল্ডকার্ডের পরের অক্ষরটি মিলে যাওয়া স্ট্রিংয়ে পাওয়া যায়।
- "?" যেকোনো একক অক্ষরের সাথে মেলে
- "?*" ১ বা তার বেশি অক্ষরের সাথে মেলে
মানগুলির জন্য অন্য কোনও অক্ষর সীমাবদ্ধতা নেই।
গতিশীল নিয়ম অর্ডার করুন
নিয়মগুলি কোন ক্রমে ঘোষণা করা হয়েছে তা গুরুত্বপূর্ণ। অ্যান্ড্রয়েড প্রতিটি নিয়মকে ক্রমানুসারে মূল্যায়ন করে যতক্ষণ না এটি একটি মিল খুঁজে পায়।
নিচের উদাহরণটি দেখায় যে ক্রম কীভাবে পরিচালনাকে প্রভাবিত করতে পারে। প্রথম নিয়মটি সমস্ত পাথ ("*") এর সাথে মেলে কিন্তু মিলগুলি বাদ দেয় (বাদ দিন: সত্য), যার অর্থ এটি সমস্ত URL কে অ্যাপ খোলা থেকে বাদ দেয়। এই ক্ষেত্রে, দ্বিতীয় নিয়মটি যা "/path1" কে অনুমতি দেয় তা কখনই মূল্যায়ন করা হবে না।
dynamic_app_link_components: [
  {"/": "*", "exclude": true},
  {"/": "/path1"}
]
তবে, পরবর্তী উদাহরণে, "/path1" নিয়মটি প্রথমে ঘোষণা করা হয়েছে, তাই এটি প্রথমে মূল্যায়ন করা হবে এবং "/path1" এর সাথে মিলে যাওয়া URL এর জন্য অ্যাপটি খুলবে। দ্বিতীয় নিয়মটি, যা সমস্ত URL কে অ্যাপটি খোলা থেকে বাদ দেয়, দ্বিতীয় নিয়মটি মূল্যায়ন করা হবে, তবে শুধুমাত্র যদি প্রথম নিয়মটি মিল না হয়।
dynamic_app_link_components: [
  {"/": "/path1"},
  {"/": "*", "exclude": true}
]
যদি ঘোষিত উপাদানের তালিকায় কোনও মিল না পাওয়া যায়, তাহলে URL অ্যাপটি খুলবে না। নিম্নলিখিত উদাহরণে, কোনও পাথ "/path3" এর সাথে মেলে না, তাই ডিভাইসটি এই পাথটিকে বাদ দেওয়া হিসাবে বিবেচনা করবে।
dynamic_app_link_components: [
  {"/": "/path1"},
  {"/": "/path2"}
]
 এই আচরণটি গুরুত্বপূর্ণ যদি আপনি চান যে dynamic_app_link_components শুধুমাত্র নির্দিষ্ট কিছু URL অংশ বাদ দিক এবং বাকি সকল অংশকে অনুমতি দিক। নিম্নলিখিত উদাহরণে, বাকি সমস্ত পাথকে অনুমতি দেওয়ার চূড়ান্ত নিয়ম বাদ দেওয়ার অর্থ হল সমস্ত URL অ্যাপ থেকে বাদ দেওয়া হবে।
dynamic_app_link_components: [
  {"/": "/path1", "exclude": true},
  {"/": "*"}
]
আপনার গতিশীল নিয়মগুলিকে সঠিকভাবে ব্যাখ্যা করুন
অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণে ডাইনামিক অ্যাপ লিংক ব্যবহারের জন্য আপনার সার্ভার-সাইড নিয়মগুলি সংজ্ঞায়িত করার সময়, সেগুলিকে যথাযথভাবে পরিসীমাবদ্ধ করা গুরুত্বপূর্ণ, যাতে তারা আপনার অ্যাপ ম্যানিফেস্টে ঘোষিত স্ট্যাটিক ইন্টেন্ট ফিল্টারগুলির সাথে কাজ করে এবং পরিপূরক হয়।
 assetlinks.json ফাইলে ঘোষিত ডায়নামিক নিয়মগুলি শুধুমাত্র আপনার অ্যাপের AndroidManifest.xml ফাইলে ঘোষিত হোস্টগুলির জন্য নিয়মগুলি নির্দিষ্ট করতে পারে। ডায়নামিক নিয়মগুলি আপনার অ্যাপ ম্যানিফেস্টে স্ট্যাটিক্যালি ঘোষিত URL নিয়মগুলির পরিধি প্রসারিত করতে পারে না ।
এই কারণে, আমরা আপনার গতিশীল এবং স্থির নিয়ম জুড়ে এই পদ্ধতিটি ব্যবহার করার পরামর্শ দিচ্ছি:
- আপনার অ্যাপ ম্যানিফেস্টে, সর্বাধিক বিস্তৃত সুযোগ সহ নিয়ম সেট করুন, যেমন শুধুমাত্র স্কিম এবং ডোমেন ঘোষণা করে
- আরও পরিমার্জনের জন্য সার্ভার-সাইড ডায়নামিক নিয়মের উপর নির্ভর করুন, যেমন পাথ-লেভেল রাউটিং।
এই আদর্শ কনফিগারেশনের সাহায্যে, আপনি প্রয়োজন অনুসারে assetlinks.json ফাইলে নতুন অ্যাপ লিংক পাথগুলি গতিশীলভাবে যুক্ত করতে সক্ষম হবেন, কারণ এটি জেনে রাখবেন যে সেগুলি অ্যাপ ম্যানিফেস্টে আপনার সেট করা বিস্তৃত সুযোগের মধ্যে ফিট করবে।
dynamic_app_link_components শুধুমাত্র একবার ঘোষণা করুন
আপনার নিয়মগুলি সঠিকভাবে পরিচালনা করার জন্য, একটি নির্দিষ্ট সাইট, সম্পর্ক এবং অ্যাপের জন্য বিবৃতি জুড়ে শুধুমাত্র একটি dynamic_app_link_components অবজেক্ট ঘোষণা করুন।
- একই সাইট, রিলেশন এবং অ্যাপের জন্য একাধিক স্টেটমেন্ট খুঁজুন, যা একটি dynamic_app_link_components অবজেক্ট ঘোষণা করে।
- একটি একক বিবৃতিতে ঘোষিত একাধিক dynamic_app_link_components অবজেক্ট খুঁজুন
এই ধরনের ক্ষেত্রে, কোন ডায়নামিক রুলস কনফিগারেশন ব্যবহার করা হবে তার কোনও গ্যারান্টি অ্যান্ড্রয়েড দেয় না।
পূর্ববর্তী অ্যাপ লিংক কনফিগারেশনের সাথে ডায়নামিক নিয়মের সামঞ্জস্যতা
যদি আপনি ইতিমধ্যেই অ্যাপ লিঙ্ক সমর্থন করে থাকেন, তাহলে আপনি আপনার বিদ্যমান assetlinks.json ফাইলে সরাসরি ডায়নামিক অ্যাপ লিঙ্কগুলির জন্য সমর্থন যোগ করতে পারেন। আপনার অ্যাপ লিঙ্কগুলি যাচাই করার জন্য সম্পর্ক ক্ষেত্রগুলি একই থাকে এবং আপনি অন্য কোনও পরিবর্তন ছাড়াই ডায়নামিক নিয়মের জন্য নতুন সম্পর্ক এক্সটেনশন ক্ষেত্রগুলি যোগ করতে পারেন।
অ্যান্ড্রয়েড ১৪ (এপিআই লেভেল ৩৪ বা তার আগের) চালিত অ্যান্ড্রয়েড ডিভাইসগুলি ডায়নামিক নিয়মের জন্য নতুন রিলেশন এক্সটেনশন ক্ষেত্রগুলি উপেক্ষা করে, যখন অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণ চালিত ডিভাইসগুলি আপনার ম্যানিফেস্ট-সংজ্ঞায়িত নিয়মগুলির সাথে সেই নিয়মগুলিকে একত্রিত করবে।
JSON যাচাইকরণ ফাইলটি প্রকাশ করুন
আপনার JSON যাচাইকরণ ফাইলটি নিম্নলিখিত স্থানে প্রকাশ করতে হবে:
 https://domain.name/.well-known/assetlinks.json
নিম্নলিখিত বিষয়গুলি নিশ্চিত করুন:
-  assetlinks.jsonফাইলটি content-typeapplication/jsonএর সাথে পরিবেশন করা হয়।
-  আপনার অ্যাপের ইন্টেন্ট ফিল্টারগুলি HTTPS কে ডেটা স্কিম হিসেবে ঘোষণা করুক না কেন, assetlinks.jsonফাইলটি HTTPS সংযোগের মাধ্যমে অ্যাক্সেসযোগ্য হতে হবে।
-  assetlinks.jsonফাইলটি অবশ্যই কোনও পুনঃনির্দেশ ছাড়াই অ্যাক্সেসযোগ্য হতে হবে (কোনও 301 বা 302 পুনঃনির্দেশ নয়)।
-  যদি আপনার অ্যাপ লিঙ্কগুলি একাধিক হোস্ট ডোমেন সমর্থন করে, তাহলে আপনাকে প্রতিটি ডোমেনে assetlinks.jsonফাইলটি প্রকাশ করতে হবে। একাধিক হোস্টের জন্য সাপোর্টিং অ্যাপ লিঙ্কিং দেখুন।
- ম্যানিফেস্ট ফাইলে টেস্ট URL গুলি দিয়ে আপনার অ্যাপ প্রকাশ করবেন না যা জনসাধারণের কাছে অ্যাক্সেসযোগ্য নাও হতে পারে (যেমন যেগুলি শুধুমাত্র VPN দিয়ে অ্যাক্সেসযোগ্য)। এই ধরনের ক্ষেত্রে একটি সমাধান হল ডেভ বিল্ডের জন্য একটি ভিন্ন ম্যানিফেস্ট ফাইল তৈরি করার জন্য বিল্ড ভেরিয়েন্টগুলি কনফিগার করা ।
নিম্নলিখিত সম্পর্কিত নির্দেশিকাগুলি দেখুন:
, অ্যাপ লিঙ্কগুলি সমর্থন করার জন্য, আপনাকে assetlinks.json নামে একটি ডিজিটাল অ্যাসেট লিঙ্ক JSON ফাইল তৈরি করতে হবে এবং এটি আপনার ওয়েবসাইটের একটি সুপরিচিত স্থানে প্রকাশ করতে হবে। এই ফাইলটি সর্বজনীনভাবে ঘোষণা করে যে কোন অ্যাপগুলি আপনার ডোমেনের জন্য লিঙ্কগুলি পরিচালনা করার জন্য অনুমোদিত, এবং অ্যান্ড্রয়েড ডিভাইসগুলি আপনার ডিপ লিঙ্কগুলি যাচাই করার জন্য আপনার সার্ভার থেকে এই ফাইলটি পুনরুদ্ধার করবে।
 অ্যান্ড্রয়েড ১৫+-এ ডায়নামিক অ্যাপ লিঙ্কের জন্য, assetlinks.json ফাইলটি হল আপনার ডায়নামিক রুলস কনফিগারেশন, যেমন পাথ, ফ্র্যাগমেন্ট এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার, সংজ্ঞায়িত করার জায়গা। অ্যান্ড্রয়েড ১৫ (এপিআই লেভেল ৩৫) বা তার পরবর্তী সংস্করণে চলমান অ্যান্ড্রয়েড ডিভাইসগুলি, যাদের গুগল পরিষেবা ইনস্টল করা আছে, পর্যায়ক্রমে ফাইলটি পুনরুদ্ধার করবে এবং অ্যাপের ম্যানিফেস্টে স্ট্যাটিক কনফিগারেশনের সাথে আপনার ডায়নামিক কনফিগারেশন একত্রিত করবে।
 এই নির্দেশিকাটিতে বর্ণনা করা হয়েছে কিভাবে একটি assetlinks.json ফাইল তৈরি করবেন এবং আপনার ওয়েবসাইটে প্রকাশ করবেন। আপনি যদি চান, তাহলে Play Deep Links টুল অথবা Android Studio App Links Assistant থেকে একটি assetlinks.json ফাইল তৈরি করতে পারেন। আরও তথ্যের জন্য, App Links ডেভেলপার টুল দেখুন।
ওয়েবসাইট অ্যাসোসিয়েশন ঘোষণা করুন
ওয়েবসাইটের সাথে সম্পর্কিত অ্যান্ড্রয়েড অ্যাপগুলি নির্দেশ করতে এবং অ্যাপের URL এর উদ্দেশ্য যাচাই করতে আপনাকে অবশ্যই আপনার ওয়েবসাইটে একটি ডিজিটাল অ্যাসেট লিংক JSON ফাইল প্রকাশ করতে হবে। সংশ্লিষ্ট অ্যাপগুলি সনাক্ত করতে JSON ফাইলটি নিম্নলিখিত ক্ষেত্রগুলি ব্যবহার করে:
-  package_name: অ্যাপেরbuild.gradleফাইলে ঘোষিত অ্যাপ্লিকেশন আইডি ।
-  sha256_cert_fingerprints: আপনার অ্যাপের স্বাক্ষরকারী শংসাপত্রের SHA256 আঙ্গুলের ছাপ। আপনি জাভা কীটুল ব্যবহার করে আঙ্গুলের ছাপ তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
 keytool -list -v -keystore my-release-key.keystore
-  এই ক্ষেত্রটি একাধিক ফিঙ্গারপ্রিন্ট সমর্থন করে, যা আপনার অ্যাপের বিভিন্ন সংস্করণ যেমন ডিবাগ এবং প্রোডাকশন বিল্ড সমর্থন করতে ব্যবহার করা যেতে পারে। আপনি যদি আপনার অ্যাপের জন্য Play App Signing ব্যবহার করেন, তাহলে স্থানীয়ভাবে keytoolচালানোর মাধ্যমে তৈরি সার্টিফিকেট ফিঙ্গারপ্রিন্ট সাধারণত ব্যবহারকারীর ডিভাইসের সাথে মিলবে না। আপনি আপনার Play Console ডেভেলপার অ্যাকাউন্টেRelease > Setup > App signingঅধীনে আপনার অ্যাপের জন্য Play App Signing ব্যবহার করছেন কিনা তা যাচাই করতে পারেন; যদি আপনি করেন, তাহলে আপনি একই পৃষ্ঠায় আপনার অ্যাপের জন্য সঠিক Digital Asset Links JSON স্নিপেটও পাবেন।
 নিচের উদাহরণ assetlinks.json ফাইলটি একটি com.example অ্যান্ড্রয়েড অ্যাপকে লিঙ্ক-খোলার অধিকার প্রদান করে:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
একাধিক অ্যাপের সাথে একটি ওয়েবসাইট সংযুক্ত করুন
 একটি ওয়েবসাইট একই assetlinks.json ফাইলের মধ্যে একাধিক অ্যাপের সাথে সংযোগ ঘোষণা করতে পারে। নিম্নলিখিত ফাইল তালিকাটি একটি স্টেটমেন্ট ফাইলের উদাহরণ দেখায় যা দুটি অ্যাপের সাথে পৃথকভাবে সংযোগ ঘোষণা করে এবং https://www.example.com/.well-known/assetlinks.json এ থাকে:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.puppies.app",
    "sha256_cert_fingerprints":
    ["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"]
  }
  },
  {
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.monkeys.app",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
 একই ওয়েব হোস্টের অধীনে বিভিন্ন রিসোর্সের জন্য বিভিন্ন অ্যাপ লিঙ্ক পরিচালনা করতে পারে। উদাহরণস্বরূপ, app1 https://example.com/articles এর জন্য একটি ইন্টেন্ট ফিল্টার ঘোষণা করতে পারে, এবং app2 https://example.com/videos এর জন্য একটি ইন্টেন্ট ফিল্টার ঘোষণা করতে পারে।
একটি অ্যাপের সাথে একাধিক ওয়েবসাইট সংযুক্ত করুন
 একাধিক ওয়েবসাইট তাদের নিজ নিজ assetlinks.json ফাইলে একই অ্যাপের সাথে সম্পর্ক ঘোষণা করতে পারে। নিম্নলিখিত ফাইল তালিকাগুলি app1 এর সাথে example.com এবং example.net এর সম্পর্ক কীভাবে ঘোষণা করতে হয় তার একটি উদাহরণ দেখায়। প্রথম তালিকাটি app1 এর সাথে example.com এর সম্পর্ক দেখায়:
https://www.example.com/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.mycompany.app1",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
 পরবর্তী তালিকাটি example.net এর সাথে app1 এর সম্পর্ক দেখায়। শুধুমাত্র এই ফাইলগুলি যেখানে হোস্ট করা হয়েছে তার অবস্থান ভিন্ন (. com এবং . net ):
https://www.example.net/.well-known/assetlinks.json
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.mycompany.app1",
    "sha256_cert_fingerprints":
    ["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"]
  }
}]
গতিশীল নিয়ম কনফিগার করুন
 অ্যান্ড্রয়েড ১৫+-এ ডাইনামিক অ্যাপ লিংক আপনাকে সার্ভার-সাইড ডিপ লিঙ্ক ম্যাচিং নিয়ম ব্যবহার করতে দেয় যা আপনার অ্যাপ ম্যানিফেস্টে স্ট্যাটিক্যালি সংজ্ঞায়িত নিয়মগুলির সাথে একসাথে কাজ করে। আপনার assetlinks.json ফাইলটি হল ডায়নামিক নিয়ম সংজ্ঞায়িত করার জায়গা। এটি অন্তর্ভুক্ত করা ঐচ্ছিক।
 Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনে চলমান Android ডিভাইসগুলিতে Google পরিষেবা ইনস্টল করা আছে, তারা পর্যায়ক্রমে আপনার সার্ভার থেকে এই ফাইলটি পুনরুদ্ধার করবে এবং অ্যাপের ম্যানিফেস্টে স্ট্যাটিক কনফিগারেশনের সাথে আপনার ডায়নামিক রুলস কনফিগারেশন মার্জ করবে। ডায়নামিক রুলস সহ assetlinks.json ফাইলের একটি উদাহরণ নিচে দেওয়া হল:
[
  {
    "relation": [
      "delegate_permission/common.handle_all_urls"
    ],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.app",
      "sha256_cert_fingerprints": [...]
    },
    "relation_extensions": {
      "delegate_permission/common.handle_all_urls": {
        "dynamic_app_link_components": [
          {"?": {"dl": "*"}},
          {"#": "app"},
          {"/": "/products/*"},
          {"/": "/shoes", "?": {"in_app": "true"}},
          {"/": "*", "exclude": true}
        ]
      }
    }
  }
]
কোড সম্পর্কে গুরুত্বপূর্ণ বিষয়সমূহ
-  ডায়নামিক অ্যাপ লিংকস একটি নতুন ডিজিটাল অ্যাসেট লিংক রিলেশন এক্সটেনশন যোগ করে যার নাম dynamic_app_link_components, যেখানে আপনি আপনার ডায়নামিক নিয়মগুলি কনফিগার করতে পারেন।
- ডায়নামিক নিয়মে পাথ, ফ্র্যাগমেন্ট এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার অন্তর্ভুক্ত থাকতে পারে।
- আপনি যেকোনো প্যাটার্ন ম্যাচারকে বাদ দেওয়া হিসেবে চিহ্নিত করতে পারেন, যাতে মিলে যাওয়া URL গুলি আপনার অ্যাপটি না খোলে।
-  এই উদাহরণে পাথ ( "/"), ফ্র্যাগমেন্ট ("#"), এবং কোয়েরি প্যারামিটার ("?"), এবং এক্সক্লুডেড ম্যাচার ("exclude") এর জন্য ম্যাচারের উদাহরণ দেখানো হয়েছে।
- যদি ফাইলের কোনও ক্ষেত্র ত্রুটিপূর্ণ বা খালি থাকে, তাহলে অ্যান্ড্রয়েড গতিশীল নিয়মগুলি বাতিল করে দেয় এবং ডিভাইসটি অ্যাপের ম্যানিফেস্টে স্ট্যাটিক্যালি সংজ্ঞায়িত নিয়মগুলিতে ফিরে যায়।
ডায়নামিক নিয়মগুলি কেবলমাত্র সেই নিয়মগুলি নির্দিষ্ট করতে পারে যা আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ঘোষিত ডোমেনের পরিধির মধ্যে প্রযোজ্য। নিচে দেখুন।
গতিশীল নিয়ম ঘোষণা করুন
 Dynamic App Links একটি নতুন dynamic_app_link_components রিলেশন এক্সটেনশন সমর্থন করে, যা নিয়ম অবজেক্টের একটি অ্যারে ধারণ করে। প্রতিটি নিয়ম আপনার অ্যাপটি খুলবে এমন পাথ, টুকরো এবং কোয়েরি প্যারামিটারের জন্য প্যাটার্ন ম্যাচার ব্যবহার করে সংজ্ঞায়িত করা হয়। ম্যাচারগুলিকে পৃথকভাবে বাদ দেওয়া যেতে পারে যাতে তারা আপনার অ্যাপটি খুলতে না পারে। এই সবগুলি ঐচ্ছিক।
-  পথ মেলানো- কী: "/"
- মান: একক স্ট্রিং, URL পাথের জন্য মিলে যাওয়া এক্সপ্রেশন
 
-  খণ্ড মেলানো- কী: "#"
- মান: একক স্ট্রিং, URL খণ্ডের সাথে মিলে যাওয়া এক্সপ্রেশন
 
-  কোয়েরি প্যারামিটার ম্যাচিং- চাবি: "?"
- মান: URL কোয়েরি প্যারামিটারে কী/মান জোড়া মেলানোর জন্য অভিধান।
-  উদাহরণস্বরূপ, অভিধান {" ?", {"dl": "*", "in_app":"true"} কোয়েরি স্ট্রিং "?in_app=true&dl=abc" এর সাথে মিলবে।
- অভিধানে কী/মান জোড়ার ক্রম কোয়েরি স্ট্রিং-এর জোড়ার ক্রম অনুসারে মেলানোর প্রয়োজন নেই। অতিরিক্তভাবে, অভিধানে কোয়েরি স্ট্রিং-এর সমস্ত কী/মান জোড়ার সাথে মেলানোর প্রয়োজন নেই, তবে প্রতিটি অভিধান এন্ট্রির জন্য একটি মিল খুঁজে বের করতে হবে।
-  উদাহরণস্বরূপ, অভিধানটি " ?lang=en&in_app=true&tz=pst&dl=abc" কোয়েরি স্ট্রিং এর সাথেও মিলবে, কিন্তু "?lang=en&tz=pst&dl=abc" কোয়েরি স্ট্রিং এর সাথে মিলবে না।
 
-  বাদ দেওয়া হয়েছে- কী: "বাদ দিন"
-  মান: dynamic_app_link_componentsএ সংজ্ঞায়িত প্রতিটি নিয়মের জন্য ঐচ্ছিক সত্য/মিথ্যা মান (উদাহরণ দেখুন)।
 
প্যাটার্ন ম্যাচারগুলিতে আপনি এই বিশেষ অক্ষরগুলি ব্যবহার করতে পারেন:
- "*" শূন্য বা তার বেশি অক্ষরের সাথে মিলিত হয় যতক্ষণ না প্যাটার্নের ওয়াইল্ডকার্ডের পরের অক্ষরটি মিলে যাওয়া স্ট্রিংয়ে পাওয়া যায়।
- "?" যেকোনো একক অক্ষরের সাথে মেলে
- "?*" ১ বা তার বেশি অক্ষরের সাথে মেলে
মানগুলির জন্য অন্য কোনও অক্ষর সীমাবদ্ধতা নেই।
গতিশীল নিয়ম অর্ডার করুন
নিয়মগুলি কোন ক্রমে ঘোষণা করা হয়েছে তা গুরুত্বপূর্ণ। অ্যান্ড্রয়েড প্রতিটি নিয়মকে ক্রমানুসারে মূল্যায়ন করে যতক্ষণ না এটি একটি মিল খুঁজে পায়।
নিচের উদাহরণটি দেখায় যে ক্রম কীভাবে পরিচালনাকে প্রভাবিত করতে পারে। প্রথম নিয়মটি সমস্ত পাথ ("*") এর সাথে মেলে কিন্তু মিলগুলি বাদ দেয় (বাদ দিন: সত্য), যার অর্থ এটি সমস্ত URL কে অ্যাপ খোলা থেকে বাদ দেয়। এই ক্ষেত্রে, দ্বিতীয় নিয়মটি যা "/path1" কে অনুমতি দেয় তা কখনই মূল্যায়ন করা হবে না।
dynamic_app_link_components: [
  {"/": "*", "exclude": true},
  {"/": "/path1"}
]
তবে, পরবর্তী উদাহরণে, "/path1" নিয়মটি প্রথমে ঘোষণা করা হয়েছে, তাই এটি প্রথমে মূল্যায়ন করা হবে এবং "/path1" এর সাথে মিলে যাওয়া URL এর জন্য অ্যাপটি খুলবে। দ্বিতীয় নিয়মটি, যা সমস্ত URL কে অ্যাপটি খোলা থেকে বাদ দেয়, দ্বিতীয় নিয়মটি মূল্যায়ন করা হবে, তবে শুধুমাত্র যদি প্রথম নিয়মটি মিল না হয়।
dynamic_app_link_components: [
  {"/": "/path1"},
  {"/": "*", "exclude": true}
]
যদি ঘোষিত উপাদানের তালিকায় কোনও মিল না পাওয়া যায়, তাহলে URL অ্যাপটি খুলবে না। নিম্নলিখিত উদাহরণে, কোনও পাথ "/path3" এর সাথে মেলে না, তাই ডিভাইসটি এই পাথটিকে বাদ দেওয়া হিসাবে বিবেচনা করবে।
dynamic_app_link_components: [
  {"/": "/path1"},
  {"/": "/path2"}
]
 এই আচরণটি গুরুত্বপূর্ণ যদি আপনি চান যে dynamic_app_link_components শুধুমাত্র নির্দিষ্ট কিছু URL অংশ বাদ দিক এবং বাকি সকল অংশকে অনুমতি দিক। নিম্নলিখিত উদাহরণে, বাকি সমস্ত পাথকে অনুমতি দেওয়ার চূড়ান্ত নিয়ম বাদ দেওয়ার অর্থ হল সমস্ত URL অ্যাপ থেকে বাদ দেওয়া হবে।
dynamic_app_link_components: [
  {"/": "/path1", "exclude": true},
  {"/": "*"}
]
আপনার গতিশীল নিয়মগুলিকে সঠিকভাবে ব্যাখ্যা করুন
অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণে ডাইনামিক অ্যাপ লিংক ব্যবহারের জন্য আপনার সার্ভার-সাইড নিয়মগুলি সংজ্ঞায়িত করার সময়, সেগুলিকে যথাযথভাবে পরিসীমাবদ্ধ করা গুরুত্বপূর্ণ, যাতে তারা আপনার অ্যাপ ম্যানিফেস্টে ঘোষিত স্ট্যাটিক ইন্টেন্ট ফিল্টারগুলির সাথে কাজ করে এবং পরিপূরক হয়।
 assetlinks.json ফাইলে ঘোষিত ডায়নামিক নিয়মগুলি শুধুমাত্র আপনার অ্যাপের AndroidManifest.xml ফাইলে ঘোষিত হোস্টগুলির জন্য নিয়মগুলি নির্দিষ্ট করতে পারে। ডায়নামিক নিয়মগুলি আপনার অ্যাপ ম্যানিফেস্টে স্ট্যাটিক্যালি ঘোষিত URL নিয়মগুলির পরিধি প্রসারিত করতে পারে না ।
এই কারণে, আমরা আপনার গতিশীল এবং স্থির নিয়ম জুড়ে এই পদ্ধতিটি ব্যবহার করার পরামর্শ দিচ্ছি:
- আপনার অ্যাপ ম্যানিফেস্টে, সর্বাধিক বিস্তৃত সুযোগ সহ নিয়ম সেট করুন, যেমন শুধুমাত্র স্কিম এবং ডোমেন ঘোষণা করে
- আরও পরিমার্জনের জন্য সার্ভার-সাইড ডায়নামিক নিয়মের উপর নির্ভর করুন, যেমন পাথ-লেভেল রাউটিং।
এই আদর্শ কনফিগারেশনের সাহায্যে, আপনি প্রয়োজন অনুসারে assetlinks.json ফাইলে নতুন অ্যাপ লিংক পাথগুলি গতিশীলভাবে যুক্ত করতে সক্ষম হবেন, কারণ এটি জেনে রাখবেন যে সেগুলি অ্যাপ ম্যানিফেস্টে আপনার সেট করা বিস্তৃত সুযোগের মধ্যে ফিট করবে।
dynamic_app_link_components শুধুমাত্র একবার ঘোষণা করুন
আপনার নিয়মগুলি সঠিকভাবে পরিচালনা করার জন্য, একটি নির্দিষ্ট সাইট, সম্পর্ক এবং অ্যাপের জন্য বিবৃতি জুড়ে শুধুমাত্র একটি dynamic_app_link_components অবজেক্ট ঘোষণা করুন।
- একই সাইট, রিলেশন এবং অ্যাপের জন্য একাধিক স্টেটমেন্ট খুঁজুন, যা একটি dynamic_app_link_components অবজেক্ট ঘোষণা করে।
- একটি একক বিবৃতিতে ঘোষিত একাধিক dynamic_app_link_components অবজেক্ট খুঁজুন
এই ধরনের ক্ষেত্রে, কোন ডায়নামিক রুলস কনফিগারেশন ব্যবহার করা হবে তার কোনও গ্যারান্টি অ্যান্ড্রয়েড দেয় না।
পূর্ববর্তী অ্যাপ লিংক কনফিগারেশনের সাথে ডায়নামিক নিয়মের সামঞ্জস্যতা
যদি আপনি ইতিমধ্যেই অ্যাপ লিঙ্ক সমর্থন করে থাকেন, তাহলে আপনি আপনার বিদ্যমান assetlinks.json ফাইলে সরাসরি ডায়নামিক অ্যাপ লিঙ্কগুলির জন্য সমর্থন যোগ করতে পারেন। আপনার অ্যাপ লিঙ্কগুলি যাচাই করার জন্য সম্পর্ক ক্ষেত্রগুলি একই থাকে এবং আপনি অন্য কোনও পরিবর্তন ছাড়াই ডায়নামিক নিয়মের জন্য নতুন সম্পর্ক এক্সটেনশন ক্ষেত্রগুলি যোগ করতে পারেন।
অ্যান্ড্রয়েড ১৪ (এপিআই লেভেল ৩৪ বা তার আগের) চালিত অ্যান্ড্রয়েড ডিভাইসগুলি ডায়নামিক নিয়মের জন্য নতুন রিলেশন এক্সটেনশন ক্ষেত্রগুলি উপেক্ষা করে, যখন অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণ চালিত ডিভাইসগুলি আপনার ম্যানিফেস্ট-সংজ্ঞায়িত নিয়মগুলির সাথে সেই নিয়মগুলিকে একত্রিত করবে।
JSON যাচাইকরণ ফাইলটি প্রকাশ করুন
আপনার JSON যাচাইকরণ ফাইলটি নিম্নলিখিত স্থানে প্রকাশ করতে হবে:
 https://domain.name/.well-known/assetlinks.json
নিম্নলিখিত বিষয়গুলি নিশ্চিত করুন:
-  assetlinks.jsonফাইলটি content-typeapplication/jsonএর সাথে পরিবেশন করা হয়।
-  আপনার অ্যাপের ইন্টেন্ট ফিল্টারগুলি HTTPS কে ডেটা স্কিম হিসেবে ঘোষণা করুক না কেন, assetlinks.jsonফাইলটি HTTPS সংযোগের মাধ্যমে অ্যাক্সেসযোগ্য হতে হবে।
-  assetlinks.jsonফাইলটি অবশ্যই কোনও পুনঃনির্দেশ ছাড়াই অ্যাক্সেসযোগ্য হতে হবে (কোনও 301 বা 302 পুনঃনির্দেশ নয়)।
-  যদি আপনার অ্যাপ লিঙ্কগুলি একাধিক হোস্ট ডোমেন সমর্থন করে, তাহলে আপনাকে প্রতিটি ডোমেনে assetlinks.jsonফাইলটি প্রকাশ করতে হবে। একাধিক হোস্টের জন্য সাপোর্টিং অ্যাপ লিঙ্কিং দেখুন।
- ম্যানিফেস্ট ফাইলে টেস্ট URL গুলি দিয়ে আপনার অ্যাপ প্রকাশ করবেন না যা জনসাধারণের কাছে অ্যাক্সেসযোগ্য নাও হতে পারে (যেমন যেগুলি শুধুমাত্র VPN দিয়ে অ্যাক্সেসযোগ্য)। এই ধরনের ক্ষেত্রে একটি সমাধান হল ডেভ বিল্ডের জন্য একটি ভিন্ন ম্যানিফেস্ট ফাইল তৈরি করার জন্য বিল্ড ভেরিয়েন্টগুলি কনফিগার করা ।
নিম্নলিখিত সম্পর্কিত নির্দেশিকাগুলি দেখুন:
