ইনস্টল করা PWA তে নেভিগেশন ব্যবস্থাপনা

ডেমিয়ান রেনজুলি
Demián Renzulli
ড্যান মারফি
Dan Murphy
দিব্যজ্যোতি পাল
Dibyajyoti Pal
ভিনসেন্ট শেইব
Vincent Scheib

প্রকাশিত: আগস্ট 19, 2025

একটি প্রগতিশীল ওয়েব অ্যাপ (PWA) কীভাবে ব্যবহারকারীর নেভিগেশন পরিচালনা করে তা নিয়ন্ত্রণ করার পদ্ধতিগুলিকে নেভিগেশন ম্যানেজমেন্ট অন্তর্ভুক্ত করে। এর একটি গুরুত্বপূর্ণ উপাদান হল নেভিগেশন ক্যাপচারিং , ব্রাউজার প্রক্রিয়া যা নির্ধারণ করে যে একটি লিঙ্কে ক্লিক করলে ইনস্টল করা PWA চালু হবে নাকি একটি নতুন ব্রাউজার ট্যাব খুলতে হবে।

এই নির্দেশিকাটি নেভিগেশন ক্যাপচারিং এর নতুন সংস্করণকে কভার করে, Chrome 139 থেকে উপলব্ধ। যদিও ব্রাউজারের ডিফল্ট আচরণ বেশিরভাগ ক্ষেত্রে উপযুক্ত, আপনি যদি আপনার ব্যবহারকারীদের জন্য সবচেয়ে মসৃণ অভিজ্ঞতা তৈরি করতে চান তবে এই ব্যবস্থাপনার কৌশলগুলি এবং তাদের সম্পর্কিত APIগুলির একটি গভীর বোঝা অপরিহার্য।

আপনার PWA-এর জন্য সম্ভাব্য সর্বোত্তম লঞ্চিং অভিজ্ঞতা প্রদান করতে কীভাবে নেভিগেশন কাস্টমাইজ করতে হয় তা বিকাশকারী নিয়ন্ত্রণ বিভাগটি শেয়ার করে৷

নতুন ডিফল্ট আচরণ

ব্যবহারকারীর পছন্দগুলির সাথে সারিবদ্ধ করতে এবং ঘর্ষণ কমাতে, ক্রোম কীভাবে লিঙ্কগুলি পরিচালনা করে তা প্রমিত করছে৷ পূর্বে, আচরণ প্ল্যাটফর্ম জুড়ে অসামঞ্জস্যপূর্ণ ছিল। মোবাইল ডিভাইসগুলি সাধারণত ইনস্টল করা অ্যাপগুলি চালু করাকে অগ্রাধিকার দেয়, যখন ডেস্কটপ ব্রাউজারগুলি প্রথমে একটি ট্যাবে একটি লিঙ্ক খুলবে সংকেত দেওয়ার আগে যে একটি অ্যাপ এটি পরিচালনা করতে পারে।

নেভিগেশন ক্যাপচারিংয়ের জন্য নতুন, একীভূত পদ্ধতি, স্বয়ংক্রিয়ভাবে তাদের সংশ্লিষ্ট ইনস্টল করা PWA-তে লিঙ্কগুলি খোলে। লিঙ্কগুলি শুধুমাত্র একটি ব্রাউজার ট্যাবে ফিরে আসবে যদি PWA ইনস্টল করা না থাকে বা ব্যবহারকারী অপ্ট আউট করে থাকেন। এই নতুন আচরণটি উইন্ডোজ, ম্যাক এবং লিনাক্সের জন্য Chrome 139 থেকে উপলব্ধ, ভবিষ্যতের রিলিজে ChromeOS সমর্থন সহ।

একটি লিঙ্কে ক্লিক করা ইনস্টল করা PWA নির্বাচন করে যদি উপলব্ধ থাকে অন্যথায় একটি ব্রাউজার ট্যাবে লক্ষ্য খোলে।
নতুন নেভিগেশন ক্যাপচারিং আচরণ যা ইনস্টল করা PWA চালু করার অগ্রাধিকার দেয় তা Chrome 139 থেকে উপলব্ধ।

নেভিগেশন ক্যাপচারিং নেভিগেশন ব্যবস্থাপনা প্রক্রিয়ার অংশ। এই প্রক্রিয়াটি ব্যবহারকারীর প্রাথমিক ক্রিয়া থেকে শুরু করে ব্রাউজারের সিদ্ধান্ত এবং ডেভেলপারের দ্বারা কনফিগার করা ফলস্বরূপ আচরণ পর্যন্ত সমগ্র প্রবাহকে কভার করে:

  • ব্যবহারকারীর ক্রিয়া: লিঙ্কগুলিতে ক্লিক করা বা ট্যাপ করার মতো মিথস্ক্রিয়া অন্তর্ভুক্ত।
  • ব্রাউজার সিদ্ধান্ত: ব্রাউজার দ্বারা পরিচালিত কাজ এবং সিদ্ধান্ত অন্তর্ভুক্ত, যেমন ডিফল্ট আচরণ, যেমন নেভিগেশন ক্যাপচারিং।
  • ডেভেলপার কন্ট্রোল: ওয়েব API গুলি অন্তর্ভুক্ত করে যা ডেভেলপারদের ব্রাউজারকে নির্দেশনা দেয় যে কীভাবে নির্দিষ্ট কাজগুলি পরিচালনা করতে হয়।

এই উপাদানগুলির ইন্টারপ্লে PWA একটি স্বতন্ত্র উইন্ডো বা একটি ব্রাউজার ট্যাবে খোলে কিনা তা নির্ধারণ করে।

নেভিগেশন ম্যানেজমেন্ট হল ব্যবহারকারীর ক্রিয়া, ব্রাউজারের সিদ্ধান্ত এবং বিকাশকারী নিয়ন্ত্রণের ফলাফল।

একটি মৌলিক নেভিগেশন ম্যানেজমেন্ট ব্যবহারের ক্ষেত্রে যখন একজন ব্যবহারকারী ব্রাউজারে অন্য পৃষ্ঠা থেকে ইনস্টল করা PWA-তে একটি লিঙ্ক ক্লিক বা ট্যাপ করে। নিম্নলিখিত উদাহরণটি এমন একজন ব্যবহারকারীর ক্ষেত্রে দেখানো হয়েছে যিনি Google Chat PWA ইনস্টল করেছেন এবং Google ক্যালেন্ডারের আমন্ত্রণ থেকে এটির একটি লিঙ্কে ক্লিক করেছেন।

ব্যবহারকারী calendar.google.com থেকে chat.google.com (PWA হিসাবে ইনস্টল করা) একটি লিঙ্কে ক্লিক করেন।

ব্যবহারকারীর ক্রিয়াকলাপ

প্রতিটি ব্যবহারকারীর ক্রিয়া তিনটি মূল উপাদান নিয়ে গঠিত: ইভেন্ট (যেমন একটি ক্লিক বা ট্যাপ), এটি যেখানে সংঘটিত হয় (যেমন একটি ওয়েবপৃষ্ঠা বা ডেস্কটপ শর্টকাট), এবং লিঙ্কের ধরন সক্রিয় করা হচ্ছে (যেমন একটি HTTPS URL)। উদাহরণস্বরূপ, calendar.google.com- এর একটি ওয়েবপেজ থেকে Google Chat PWA-এর সুযোগের মধ্যে https://chat.google.com/meeting_room_id এর একটি লিঙ্কে ক্লিক করা একজন ব্যবহারকারীর কাজ হতে পারে।

ব্রাউজার সিদ্ধান্ত

ব্যবহারকারীর কর্মের উপর, আগের ধাপে ব্যবহারকারীর ক্লিকের মতো, ব্রাউজারটি নেভিগেশন ক্যাপচারিং প্রক্রিয়া চালায় যে লিঙ্কগুলি ব্রাউজার ট্যাবে খোলা হবে নাকি ইনস্টল করা PWA-তে। এটি নিম্নলিখিত পদক্ষেপ নিয়ে গঠিত:

  1. নেভিগেশন ক্যাপচারযোগ্য কিনা তা নির্ধারণ করুন : সাধারণভাবে, একটি নেভিগেশন ক্যাপচারযোগ্য বলে বিবেচিত হয় যদি এটি একটি নতুন ফ্রেম তৈরি করে এবং একটি সহায়ক ব্রাউজিং প্রসঙ্গে খোলা না হয়।
  2. একটি নিয়ন্ত্রণকারী PWA শনাক্ত করুন : যদি নেভিগেশন ক্যাপচারযোগ্য হয়, ব্রাউজার এমন একটি PWA খুঁজে বের করার চেষ্টা করে যা URL "নিয়ন্ত্রণ" করে (এর ওয়েব অ্যাপ ম্যানিফেস্টে সংজ্ঞায়িত স্কোপের মধ্যে পড়ে)।
  3. ব্যবহারকারীর পছন্দ যাচাই করুন : একটি নিয়ন্ত্রণকারী PWA পাওয়া গেলে, ব্রাউজার ব্যবহারকারীর পছন্দ পরীক্ষা করে। যদি ব্যবহারকারী অ্যাপ সেটিংসে অপ্ট আউট না করে থাকে, PWA চালু হয়; অন্যথায়, লিঙ্কটি একটি নতুন ব্রাউজার ট্যাবে খোলে।
  4. PWA চালু করুন : ব্রাউজারটি লঞ্চ হ্যান্ডলিং অ্যালগরিদম ব্যবহার করে PWA চালু করে। আপনি লঞ্চ হ্যান্ডলার API ব্যবহার করে এটিকে প্রভাবিত করতে পারেন, পরবর্তীতে কভার করা হয়েছে।

নিম্নলিখিত চিত্রটি এই প্রক্রিয়াটিকে সংক্ষিপ্ত করে:

ইমেজ
নেভিগেশন ক্যাপচারিং: ব্রাউজার ট্যাবে লিঙ্কগুলি খুলতে বা ব্যবহারকারীর অ্যাকশনের উপর একটি PWA চালু করতে হবে কিনা তা নির্ধারণ করতে ব্রাউজার দ্বারা সম্পাদিত পদক্ষেপ।

বিকাশকারী নিয়ন্ত্রণ

যদিও নেভিগেশন প্রক্রিয়া প্রাথমিকভাবে ব্রাউজার ডিফল্ট এবং ব্যবহারকারী সেটিংসের উপর নির্ভর করে, আপনি এর নির্দিষ্ট দিকগুলি পরিচালনা করতে বিভিন্ন API ব্যবহার করতে পারেন। সাম্প্রতিক নেভিগেশন ক্যাপচারিং আপডেটের পরে, কিছু দীর্ঘস্থায়ী ওয়েব API আরও প্রাসঙ্গিক হয়ে উঠেছে।

হ্যান্ডলার API চালু করুন

এই APIটি কার্যকর হয় যখন ব্রাউজার PWA লঞ্চ করার সিদ্ধান্ত নেয়, আপনাকে এটি কীভাবে চালু করা হয় তা নিয়ন্ত্রণ করতে দেয়—উদাহরণস্বরূপ, একটি নতুন বা বিদ্যমান উইন্ডোতে।

একটি বিদ্যমান উইন্ডো ফোকাস করে বা একটি নতুন উইন্ডো খোলার মাধ্যমে PWA চালু করা যেতে পারে।
লঞ্চ হ্যান্ডলার API: আপনাকে PWA কিভাবে চালু করা হবে তা নির্ধারণ করতে দেয়।

ওয়েব অ্যাপ ম্যানিফেস্টে launch_handler সদস্যের মাধ্যমে PWA কীভাবে চালু হয় তা নির্ধারণ করুন, যার মধ্যে client_mode নামে একটি সাবফিল্ড রয়েছে। একটি নতুন বা বিদ্যমান উইন্ডো ব্যবহার করা উচিত কিনা এবং এটি নেভিগেট করা উচিত কিনা তা এই সাবফিল্ড নির্ধারণ করে। client_mode জন্য অনুমোদিত মানগুলি হল:

  • focus-existing : একটি বিদ্যমান অ্যাপ উইন্ডোতে লিঙ্কটি পরিচালনা করতে, যেমন একটি PWA যা ইতিমধ্যে স্বতন্ত্র মোডে চলছে।
  • navigate-existing : এই বিকল্পের সাথে অতি সম্প্রতি ইন্টারঅ্যাক্ট করা হয়েছে, একটি ওয়েব অ্যাপ উইন্ডোতে ব্রাউজিং প্রসঙ্গ লঞ্চের টার্গেট URL-এ নেভিগেট করা হয়।
  • navigate-new : লঞ্চের টার্গেট ইউআরএল লোড করার জন্য এই বিকল্পের মাধ্যমে একটি ওয়েব অ্যাপ উইন্ডোতে একটি নতুন ব্রাউজিং প্রসঙ্গ তৈরি করা হয়।

অতিরিক্ত পরামিতি প্রদান করতে এবং বিশেষ কেস পরিচালনা করতে launchQueue API ব্যবহার করুন। লঞ্চ হ্যান্ডলার এপিআই Chrome 110 থেকে উপলব্ধ, কিন্তু নেভিগেশন ক্যাপচারিং আপডেটের সাথে এটি অনেক বেশি কার্যকর হয়ে ওঠে। আপনি লঞ্চ হ্যান্ডলার API ডকুমেন্টেশনে এটি সম্পর্কে আরও জানতে পারেন।

অন্যান্য সম্পর্কিত API

লঞ্চ হ্যান্ডলিং ছাড়াও, অন্যান্য APIগুলিও এই প্রক্রিয়াতে ভূমিকা পালন করতে পারে, আপনার অ্যাপের নির্দিষ্ট চাহিদার উপর নির্ভর করে। এর মধ্যে রয়েছে URL প্রোটোকল হ্যান্ডলার , যা একটি ওয়েব অ্যাপকে স্ট্যান্ডার্ড http এবং https (উদাহরণস্বরূপ, mailto: মতো স্ট্যান্ডার্ড প্রোটোকল বা web+music মতো কাস্টম প্রোটোকল) এর বাইরে ইউআরএল স্কিমগুলি পরিচালনা করার ক্ষমতা নিবন্ধন করতে দেয়। এছাড়াও, ওয়েব অ্যাপ স্কোপ এক্সটেনশন এপিআই (বর্তমানে বিকাশাধীন) আপনাকে সাবডোমেন সহ অন্যান্য উত্স থেকে লিঙ্কগুলি ক্যাপচার করতে আপনার PWA এর সুযোগকে প্রসারিত করতে দেয়, যাতে কোনও ব্যবহারকারী যখন কোনও সংশ্লিষ্ট উত্স থেকে কোনও লিঙ্কে ক্লিক করেন, তখন PWA চালু করা যেতে পারে৷ এগুলিকে গভীরভাবে কভার করা এই নিবন্ধের সুযোগের বাইরে, তবে আপনি আরও জানতে সংশ্লিষ্ট লিঙ্কগুলি পরীক্ষা করে দেখতে পারেন৷

গুটিয়ে নেওয়ার জন্য, Google চ্যাট রুমের একটি Google ক্যালেন্ডার লিঙ্কে ক্লিক করার উদাহরণে কীভাবে বিভিন্ন টুকরো একসাথে কাজ করে তা শিখুন, একজন ব্যবহারকারী যে ইতিমধ্যেই Google Chat PWA ইনস্টল করেছে।

নেভিগেশন ক্যাপচারিং আগে

নিম্নলিখিত ভিডিওতে, একজন ব্যবহারকারী একটি Google ক্যালেন্ডার মিটিং তৈরি করেন এবং তিনজন অতিথিকে আমন্ত্রণ জানান৷ ক্যালেন্ডার অ্যাপ স্বয়ংক্রিয়ভাবে একটি Google চ্যাট লিঙ্ক তৈরি করে যাতে সমস্ত অংশগ্রহণকারীদের অন্তর্ভুক্ত থাকে। ব্যবহারকারী এই লিঙ্কে ক্লিক করলে, চ্যাট রুমটি একটি নতুন ব্রাউজার ট্যাবে খোলে। অ্যাড্রেস বারে একটি আইকন তখন সংকেত দেয় যে একটি সংশ্লিষ্ট PWA ইনস্টল করা আছে, কিন্তু এটি ব্যবহারকারীকে ম্যানুয়ালি চালু করতে হবে। নেভিগেশন ক্যাপচারিং আপডেটের আগে এই আচরণ ছিল:

নেভিগেশন ক্যাপচারিং পরে

নিম্নলিখিত ভিডিওটি একই ব্যবহারকারীর কর্মপ্রবাহ দেখায়, কিন্তু এখন নতুন নেভিগেশন ক্যাপচারিং আচরণের সাথে। এই সংস্করণে, Google ক্যালেন্ডার থেকে Google চ্যাট লিঙ্কে ক্লিক করলে সরাসরি ইনস্টল করা PWA-তে সংশ্লিষ্ট চ্যাট রুম খোলে। উপরন্তু, Google চ্যাট টিম ওয়েব অ্যাপ ম্যানিফেস্টে launch_handler অ্যাট্রিবিউট যোগ করে লঞ্চ হ্যান্ডলিং বাস্তবায়ন করেছে। এটির client_mode focus-existing সেট করে, তারা নিশ্চিত করে যে লিঙ্কটি PWA-এর একটি বিদ্যমান উদাহরণে খোলে, যদি একটি ইতিমধ্যেই চালু থাকে। একটি নতুন ব্রাউজার ট্যাব খোলার এবং তারপর একটি পৃষ্ঠা লোড ট্রিগার করার সাথে জড়িত বিলম্বতা অপসারণ করে, কার্যকরী 'ব্যবহারকারীর ইন্টারঅ্যাক্টিভিটি করার সময়' ডিজাইনের দ্বারা দ্রুততর হতে পারে। আসলে, Google Chat একটি নতুন অ্যাপ লঞ্চের প্রয়োজনীয়তা সরিয়ে নেভিগেশন লেটেন্সি উল্লেখযোগ্যভাবে উন্নত করেছে।

উপসংহার এবং পরবর্তী পদক্ষেপ

এই নিবন্ধটি Chrome 139 থেকে উপলব্ধ নতুন ডিফল্ট নেভিগেশন ক্যাপচারিং আচরণের অন্বেষণ করেছে, একটি ইনস্টল করা PWA এর সুযোগের মধ্যে একটি HTTPS লিঙ্কে ক্লিক করার ব্যবহারকারীর সাধারণ ব্যবহারের ক্ষেত্রে ফোকাস করে৷ আপনি আরও তথ্য পেতে পারেন এবং ইনস্টলড PWA-তে নেভিগেশন ম্যানেজমেন্টের ক্ষেত্রে ব্যবহার করতে পারেন। নিম্নলিখিত চিত্রটি ব্যবহারকারীর ইভেন্ট, পৃষ্ঠতল এবং প্রোটোকল সহ তাদের সংশ্লিষ্ট ফলাফল সহ ব্যবহারের ক্ষেত্রে সম্পূর্ণ ভাঙ্গন দেখায়:

নিবন্ধে বর্ণিত বিভিন্ন ধাপ।
নেভিগেশন ক্যাপচারিং ডায়াগ্রাম (সম্পূর্ণ সংস্করণ)

ন্যাভিগেশন ম্যানেজমেন্ট আপনার অ্যাপের UX-এর একটি গুরুত্বপূর্ণ, তবুও প্রায়ই উপেক্ষা করা হয়, কারণ এটি এর প্রবেশ বিন্দু নিয়ন্ত্রণ করে। এই নিবন্ধে কভার করা বৈশিষ্ট্য এবং লিঙ্কগুলি আপনাকে আপনার PWA-এর জন্য সম্ভাব্য সেরা অ্যাপ-এর মতো অভিজ্ঞতা অর্জনে সহায়তা করতে পারে।