ডিপ লিঙ্ক কাজ করে

1.2.0 ভার্সন থেকে শুরু করে, Navigation 3, DeepLinkRequest এবং DeepLinkMatcher ক্লাস ব্যবহার করে আপনার অ্যাপের ডেস্টিনেশনে ডিপ লিঙ্কিং কাজ করে।

আপনার অ্যাপে ডিপ লিঙ্ক কাজ করানোর জন্য, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার AndroidManifest.xml-এ ইনটেন্ট ফিল্টার নির্ধারণ করুন, যাতে আপনার অ্যাপ কোন URI হ্যান্ডেল করতে পারবে তা নির্দিষ্ট করা যায়।
  2. আপনার নেভিগেশন কী-তে ইনকামিং অনুরোধ ম্যাপ করতে, DeepLinkMatcher ইনস্ট্যান্স তৈরি করুন।
  3. আপনার অ্যাক্টিভিটির onCreate বা onNewIntent পদ্ধতিতে আগত অনুরোধ ম্যাচ করুন এবং সেই অনুযায়ী আপনার ব্যাক স্ট্যাক আপডেট করুন।

DeepLinkRequest তৈরি করুন

DeepLinkRequest চিহ্নটি ইনকামিং ডিপ লিঙ্ককে বোঝায়। এতে অতিরিক্ত তথ্য সহ একটি DeepLinkUri এবং ঐচ্ছিক RequestExtras আছে, যেমন ইনটেন্ট অ্যাকশন বা MIME টাইপ।

DeepLinkRequest অতিরিক্ত তথ্য দিন

ডিপ লিঙ্ক সম্পর্কিত অতিরিক্ত তথ্য স্টোর করতে, RequestExtras ক্লাস ব্যবহার করুন। এক্সট্রা টাইপ-সেফকে ডিফাইন ও ইনস্ট্যানশিয়েট করতে, লাইব্রেরি RequestExtrasKey ইন্টারফেস ও requestExtras DSL প্রদান করে।

এছাড়াও, লাইব্রেরি দুটি অতিরিক্ত কী ও সংশ্লিষ্ট হেল্পার প্রদান করে:

  • MimeTypeExtrasKey: MIME-এর ধরন String সেভ করতে ব্যবহৃত হয়।
  • ActionExtrasKey (শুধুমাত্র Android-এর জন্য): Intent-এর অ্যাকশন String সেভ করতে ব্যবহার করা হয়।

আপনার নিজস্ব কাস্টম এক্সট্রা ডিফাইন করতে, টাইপ করা জেনেরিক সহ RequestExtrasKey ইন্টারফেস প্রয়োগ করুন:

এছাড়াও, আপনি খালি ইনস্ট্যান্স তৈরি করতে emptyRequestExtras() ব্যবহার করতে পারেন অথবা + (plus) ও - (minus) অপারেটর ব্যবহার করে এক্সট্রা একত্রিত করতে পারেন।

Intent থেকে DeepLinkRequest তৈরি করা

Android-এ, আপনি Intent থেকে সরাসরি DeepLinkRequest তৈরি করতে পারবেন। এইভাবে তৈরি করা হলে, DeepLinkRequest এইভাবে তৈরি হয়:

  • uriটি ইনটেন্টের data ফিল্ড থেকে কপি করা হয়েছে।
  • নাল না হলে, সংশ্লিষ্ট ইনটেন্ট ফিল্ড থেকে MIME-এর ধরন ও অ্যাকশন এক্সট্রা সেট করা হয়।
  • নন-নাল ভ্যালু সহ সব intent.extras DeepLinkRequest.IntentExtrasKey-এ SavedState হিসেবে সেভ করা হয়।
  • extras প্যারামিটার ব্যবহার করে প্রদান করা যেকোনও অতিরিক্ত এক্সট্রা যোগ করা হয়।

DeepLinkMatcher ইনকামিং DeepLinkRequest ইনস্ট্যান্সকে নেভিগেশন কী-তে ম্যাপ করে যা আপনার অ্যাপের ব্যাক স্ট্যাকে যোগ করা যেতে পারে। নেভিগেশন ৩ তিনটি বিল্ট-ইন ম্যাচিং প্রদান করে: UriDeepLinkMatcher প্যাটার্ন-ভিত্তিক URI ম্যাচিংয়ের জন্য, StaticKeyDeepLinkMatcher সাধারণ লিঙ্কের জন্য এবং BackStackMatcher সিন্থেটিক ব্যাক স্ট্যাক তৈরি করার জন্য। এছাড়াও, লাইব্রেরি বিল্ট-ইন ম্যাচার দ্বারা কভার করা হয়নি এমন ব্যবহারের ক্ষেত্রে কাস্টম ম্যাচিং সাপোর্ট করে।

আরও তথ্যের জন্য, DeepLinkMatchers তৈরি করুন দেখুন।

ইনটেন্ট ফিল্টার যোগ করা

আপনার অ্যাক্টিভিটি শুরু করার জন্য ডিপ লিঙ্ক চালু করতে, আপনার অ্যাপের AndroidManifest.xml-এ আপনাকে অবশ্যই ম্যাচ করা <intent-filter> এলিমেন্ট নির্ধারণ করতে হবে। আরও তথ্যের জন্য, ইনকামিং লিঙ্কের জন্য ইনটেন্ট ফিল্টার যোগ করুন দেখুন।

ইনকামিং অনুরোধ ম্যাচ করা

আপনার DeepLinkMatcher ইনস্ট্যান্স তৈরি করার পরে, আপনার অ্যাক্টিভিটিতে আগত অনুরোধ ম্যাচ করতে পারবেন।

আগত অনুরোধের সাথে মেলাতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার DeepLinkMatcher ইনস্ট্যান্স ইনস্ট্যানশিয়েট করুন।
  2. আপনার সব DeepLinkMatcher ইনস্ট্যান্স কোলেট করুন, তা স্পষ্টভাবে হোক বা মাল্টিবাইন্ডিং ব্যবহার করে হোক।
  3. ইনকামিং Intent থেকে DeepLinkRequest তৈরি করো।
  4. সব ম্যাচারের সাথে অনুরোধ ম্যাচ করুন এবং সেরা ম্যাচ খুঁজে নিন।
  5. ম্যাচের ফলাফল থেকে ব্যাক স্ট্যাক তৈরি করুন।