প্রকাশিত: ১৬ জুলাই, ২০২৬
ক্রোম ১৫২ সংস্করণ থেকে, macOS-এ ইনস্টল করা প্রগ্রেসিভ ওয়েব অ্যাপস (PWA)-এর নোটিফিকেশনগুলো গুগল ক্রোমের পরিবর্তে স্বয়ংক্রিয়ভাবে PWA-টির নিজস্ব অ্যাকাউন্টে যুক্ত হবে।
এটি ব্যবহারকারীর অভিজ্ঞতার ক্ষেত্রে একটি উল্লেখযোগ্য উন্নতি, যা ওয়েব অ্যাপগুলোকে ম্যাকওএস-এর সাথে আরও বেশি সমন্বিত করে তোলে। তবে, এটি নোটিফিকেশন পারমিশন কীভাবে পরিচালনা করা হয় এবং নির্দিষ্ট কিছু নোটিফিকেশন এপিআই-এর আচরণেও গুরুত্বপূর্ণ পরিবর্তন নিয়ে আসে।
কী পরিবর্তন হচ্ছে?
পূর্বে, PWA দ্বারা প্রেরিত সমস্ত নোটিফিকেশন OS স্তরে Chrome-এর সাথে যুক্ত করা হতো। macOS নোটিফিকেশন সেন্টারে, সেগুলি "Google Chrome" এর অধীনে প্রদর্শিত হতো এবং Chrome আইকন ব্যবহার করত। নোটিফিকেশন নিষ্ক্রিয় করতে, ব্যবহারকারীদের macOS সিস্টেম সেটিংস নয়, বরং Chrome-এর ভেতরের কন্ট্রোল ব্যবহার করতে হতো।
নোটিফিকেশন অ্যাট্রিবিউশনের মাধ্যমে, যখন কোনো সাইট PWA হিসেবে ইনস্টল করা হয়, তখন macOS নোটিফিকেশনের জন্য সেটিকে একটি স্বতন্ত্র অ্যাপ্লিকেশন হিসেবে গণ্য করে। এটি নতুন ইনস্টল করা PWA এবং ব্যবহারকারীর পূর্বে ইনস্টল করা PWA, উভয়ের ক্ষেত্রেই প্রযোজ্য।
সুবিধাসমূহ:
- ব্র্যান্ড পরিচিতি : নোটিফিকেশনগুলোতে ম্যাকওএস নোটিফিকেশন সেন্টার এবং ব্যানারে PWA-এর নিজস্ব নাম ও আইকন দেখানো হয়।
- সুপরিচিত ব্যবহারকারী নিয়ন্ত্রণসমূহ : এই অ্যাপগুলির নোটিফিকেশন নিয়ন্ত্রণ এখন ঠিক সেখানেই দেখা যায় যেখানে ব্যবহারকারীরা আশা করেন: ম্যাকওএস সিস্টেম সেটিংসে (ক্রোমে নয়)।
- সূক্ষ্ম নিয়ন্ত্রণ : ব্যবহারকারীরা স্বতন্ত্র PWA অ্যাপের নোটিফিকেশন সেটিংস (যেমন, অ্যালার্ট স্টাইল, লক স্ক্রিনের আচরণ) পরিচালনা করতে পারেন।
- ফোকাস মোড : ম্যাকওএস ফোকাস প্রোফাইলে (ডু নট ডিস্টার্ব) পিডব্লিউএ-গুলিকে আলাদাভাবে অনুমতি দেওয়া বা নীরব করা যায়।


নতুন অনুমতি প্রবাহ
যেহেতু macOS এখন PWA-কে একটি আলাদা অ্যাপ হিসেবে গণ্য করে, তাই নোটিফিকেশন দেখানোর আগে PWA-কে অবশ্যই OS-স্তরের নোটিফিকেশন অনুমতি নিতে হবে । এর ফলে নতুন এবং পুরোনো উভয় ব্যবহারকারীর জন্যই অনুমতির প্রক্রিয়াটি পরিবর্তিত হয়েছে।
নতুন ব্যবহারকারী (প্রথমবার অনুমতির অনুরোধ)
যদি কোনো ব্যবহারকারী একটি PWA ইনস্টল করেন এবং ইনস্টলেশনের পরে সাইটটি নোটিফিকেশনের অনুমতি চায়:
- ক্রোম ব্রাউজার-স্তরের অনুমতির অনুরোধটি (অ্যাড্রেস বারের ড্রপ-ডাউন মেনু) এড়িয়ে যাবে ।
- ক্রোম অবিলম্বে PWA-টির জন্য macOS সিস্টেমের অনুমতির অনুরোধটি চালু করবে।


বিদ্যমান ব্যবহারকারী (স্থানান্তর পথ)
যদি কোনো ব্যবহারকারী ক্রোমে আপনার ওয়েবসাইটের জন্য ইতিমধ্যেই নোটিফিকেশনের অনুমতি দিয়ে থাকেন এবং তারপর PWA-টি ইনস্টল করেন (বা ইতিমধ্যেই ইনস্টল করে থাকেন), তাহলেও তাঁকে অবশ্যই PWA-টির জন্য OS-স্তরের অনুমতি দিতে হবে।
এই পরিবর্তনকে যথাসম্ভব মসৃণ করতে:
- PWA যখন প্রথমবার নোটিফিকেশন পাঠানোর চেষ্টা করবে, তখন macOS সিস্টেম পারমিশনের জন্য প্রম্পট প্রদর্শন করবে।
- ব্যবহারকারী অনুমোদন করলে, নোটিফিকেশনগুলো নির্বিঘ্নে কাজ করতে থাকবে।
- যদি ব্যবহারকারী এই প্রম্পটটি উপেক্ষা বা খারিজ করেন, তাহলে PWA-টি অ্যাপের ভেতরে একটি নির্দেশক দেখাবে (সাধারণত অ্যাপটির টাইটেল বার বা মেনুতে), যা তাদেরকে ম্যানুয়ালি অনুমতিগুলো চালু করার জন্য macOS সিস্টেম সেটিংসে যাওয়ার পথ দেখাবে।



ডেভেলপারদের উপর প্রভাব: macOS-এ requireInteraction ব্যবহার বন্ধ হয়ে যাওয়া।
macOS-এ, কোনো নোটিফিকেশন ব্যবহারকারী বাতিল না করা পর্যন্ত স্ক্রিনে থাকবে ( "পার্সিস্টেন্ট" ) নাকি স্বয়ংক্রিয়ভাবে অদৃশ্য হয়ে যাবে ( "টেম্পোরারি" ), তা macOS সিস্টেম সেটিংস-এর একটি ব্যবহারকারী-নিয়ন্ত্রিত, অ্যাপ-ভিত্তিক সেটিং ।
এই OS ডিজাইনের কারণে, অ্যাট্রিবিউশন সক্রিয় থাকলে Chrome আর macOS-এর নোটিফিকেশন API-এর requireInteraction অপশনটিকে সম্মান করবে না ।
আপনার কোডের জন্য এর অর্থ হলো:
আপনার অ্যাপ যদি গুরুত্বপূর্ণ নোটিফিকেশন স্ক্রিনে রাখার জন্য requireInteraction: true উপর নির্ভর করে, তবে macOS-এ এটি আর নিশ্চিত করা যাবে না। এর পরিবর্তে, আপনার যা করা উচিত তা হলো:
- আপনার অ্যাপটি এমনভাবে ডিজাইন করুন যেন নোটিফিকেশনগুলো ক্ষণস্থায়ী ( অস্থায়ী ) হতে পারে।
- যেসব ব্যবহারকারীর নিয়মিত নোটিফিকেশন প্রয়োজন
System Settings > Notifications > [Your PWA]-এ গিয়ে PWA-এর নোটিফিকেশন অ্যালার্ট স্টাইলটি "পার্সিস্টেন্ট" হিসেবে কনফিগার করতে উৎসাহিত করুন।

ডেভেলপারদের উপর প্রভাব: অ্যাপ ব্যাজিং এপিআই-এর জন্য নোটিফিকেশন পারমিশন প্রয়োজন।
অ্যাপ ব্যাজিং এপিআই ওয়েব অ্যাপগুলোকে তাদের অ্যাপ্লিকেশন আইকনে একটি ব্যাজ সেট করার সুযোগ দেয় (উদাহরণস্বরূপ, অপঠিত বার্তার সংখ্যা দেখানো)। ম্যাকওএস-এ, অ্যাপ আইকন ব্যাজিং প্রযুক্তিগতভাবে অ্যাপ্লিকেশনটির নোটিফিকেশন সেটিংসের সাথে যুক্ত থাকে। যেহেতু পিডব্লিউএ-এর এখন নিজস্ব নেটিভ নোটিফিকেশন আইডেন্টিটি রয়েছে:
- অনুমতি আবশ্যক : ডক আইকনে ব্যাজটি প্রদর্শিত হওয়ার জন্য PWA-টির অবশ্যই OS-স্তরের নোটিফিকেশন অনুমতি সক্রিয় থাকতে হবে। এটি macOS প্ল্যাটফর্মের মানদণ্ডের সাথে সামঞ্জস্যপূর্ণ এবং Safari যেভাবে ওয়েব অ্যাপের জন্য ব্যাজিং API পরিচালনা করে, তার সাথেও মেলে।
- নীরব ব্যর্থতা : যদি ব্যবহারকারী
System Settings > Notifications > [Your PWA]তে "ব্যাজ অ্যাপ আইকন" নিষ্ক্রিয় করে, অথবা নোটিফিকেশনের অনুমতি সম্পূর্ণরূপে অস্বীকার করে, তাহলে জাভাস্ক্রিপ্টেnavigator.setAppBadge()কলগুলো (কোনো ত্রুটি না দেখিয়ে) সফল হবে, কিন্তু ব্যাজটি ডকে প্রদর্শিত হবে না। যদি আপনার অ্যাপ ব্যাজিংয়ের উপর নির্ভরশীল হয়, তবে ব্যাজটি যাতে প্রদর্শিত হতে পারে তা নিশ্চিত করতে নোটিফিকেশনের অনুমতি চেয়ে নিন।
এন্টারপ্রাইজ প্রশাসনের প্রভাব
যেসব এন্টারপ্রাইজ অ্যাডমিনিস্ট্রেটর ম্যাকওএস ডিভাইস পরিচালনা করেন এবং নোটিফিকেশনের অনুমতি আগে থেকেই দিয়ে রাখতে চান, তাদের জন্য:
- ক্রোম পলিসি : PWA-এর অরিজিনকে অনুমতি দেওয়ার জন্য আপনাকে অবশ্যই ক্রোম পলিসি (
NotificationsAllowedForUrls) কনফিগার করতে হবে। - macOS পলিসি : এছাড়াও, PWA-এর বান্ডেল আইডেন্টিফায়ার (অ্যাপ শিম)-কে নোটিফিকেশন পারমিশন আগে থেকে প্রদান করার জন্য আপনাকে এখন একটি macOS কনফিগারেশন প্রোফাইল (MDM) ডেপ্লয় করতে হবে।
উভয় পলিসি কার্যকর না থাকলেও, ব্যবহারকারীদেরকে ওএস লেভেলে প্রম্পট করা হবে।
ডেভেলপারদের জন্য সেরা অনুশীলন
- অনুমতির অবস্থা যাচাই করুন : নোটিফিকেশন পাঠানোর আগে সর্বদা
Notification.permissionযাচাই করে নিন। - প্রাসঙ্গিক নির্দেশিকা : যদি আপনি দেখেন যে ওয়েব স্তরে অনুমতি দেওয়া আছে কিন্তু নোটিফিকেশন দেখা যাচ্ছে না (যা ওএস-স্তরের অনুমতি প্রত্যাহার করা হলে ঘটতে পারে), তাহলে ব্যবহারকারীকে তার ম্যাকওএস সিস্টেম সেটিংসে নিয়ে যান।
- ক্ষণস্থায়ী নোটিফিকেশনের জন্য প্রস্তুত থাকুন : macOS-এর গুরুত্বপূর্ণ ইউজার ফ্লো-এর জন্য
requireInteractionউপর নির্ভর করবেন না।