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

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

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

  1. আপনার অ্যাপ কোন URI ম্যানেজ করতে পারবে তা নির্দিষ্ট করতে AndroidManifest.xml-এ ইনটেন্ট ফিল্টার নির্ধারণ করুন।
  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 ইনস্ট্যান্সকে নেভিগেশন কীতে ম্যাপ করে যা আপনার অ্যাপের ব্যাক স্ট্যাকে যোগ করা যেতে পারে। Navigation 3 তিনটি বিল্ট-ইন ম্যাচিং টুল প্রদান করে: প্যাটার্ন-ভিত্তিক URI ম্যাচিংয়ের জন্য UriDeepLinkMatcher, বেসিক লিঙ্কের জন্য StaticKeyDeepLinkMatcher এবং সিন্থেটিক ব্যাক স্ট্যাক তৈরি করার জন্য BackStackMatcher। এছাড়াও, লাইব্রেরি বিল্ট-ইন ম্যাচারের মাধ্যমে কভার করা হয়নি এমন ব্যবহারের ক্ষেত্রে কাস্টম ম্যাচিং সাপোর্ট করে।

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

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

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

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

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

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

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