বিজ্ঞপ্তি ট্রিগার API

বিজ্ঞপ্তি ট্রিগারগুলি আপনাকে স্থানীয় বিজ্ঞপ্তিগুলির সময়সূচী করার অনুমতি দেয় যেগুলির জন্য নেটওয়ার্ক সংযোগের প্রয়োজন হয় না, যা তাদের ক্যালেন্ডার অ্যাপগুলির মতো ব্যবহারের ক্ষেত্রে আদর্শ করে তোলে৷

বিজ্ঞপ্তি ট্রিগার কি?

ওয়েব ডেভেলপাররা ওয়েব বিজ্ঞপ্তি API ব্যবহার করে বিজ্ঞপ্তি প্রদর্শন করতে পারে। এই বৈশিষ্ট্যটি প্রায়ই Push API এর সাথে ব্যবহার করা হয় যাতে ব্যবহারকারীকে সময়-সংবেদনশীল তথ্য, যেমন ব্রেকিং নিউজ ইভেন্ট বা প্রাপ্ত বার্তাগুলি জানানো হয়। ব্যবহারকারীর ডিভাইসে জাভাস্ক্রিপ্ট চালানোর মাধ্যমে বিজ্ঞপ্তিগুলি দেখানো হয়।

Push API-এর সমস্যা হল যে এটি ট্রিগারিং বিজ্ঞপ্তিগুলির জন্য নির্ভরযোগ্য নয় যা একটি নির্দিষ্ট শর্ত, যেমন সময় বা অবস্থান, পূরণ হলে অবশ্যই দেখাতে হবে। একটি সময়-ভিত্তিক অবস্থার একটি উদাহরণ হল একটি ক্যালেন্ডার বিজ্ঞপ্তি যা আপনাকে দুপুর 2 টায় আপনার বসের সাথে একটি গুরুত্বপূর্ণ বৈঠকের কথা মনে করিয়ে দেয়। অবস্থান-ভিত্তিক অবস্থার একটি উদাহরণ হল একটি বিজ্ঞপ্তি যা আপনাকে আপনার মুদি দোকানের আশেপাশে প্রবেশ করার সময় দুধ কেনার কথা মনে করিয়ে দেয়। ডোজ মোডের মতো নেটওয়ার্ক সংযোগ বা ব্যাটারি-সংরক্ষণকারী বৈশিষ্ট্যগুলি পুশ ভিত্তিক বিজ্ঞপ্তিগুলি সরবরাহ করতে বিলম্ব করতে পারে।

নোটিফিকেশন ট্রিগারগুলি আপনাকে আগে থেকেই তাদের ট্রিগারিং কন্ডিশনের সাথে বিজ্ঞপ্তিগুলির সময়সূচী দিয়ে এই সমস্যার সমাধান করে, যাতে কোনও নেটওয়ার্ক সংযোগ না থাকলেও বা ডিভাইসটি ব্যাটারি সেভার মোডে থাকলেও অপারেটিং সিস্টেম সঠিক সময়ে বিজ্ঞপ্তি সরবরাহ করবে৷

ব্যবহারের ক্ষেত্রে

ক্যালেন্ডার অ্যাপ্লিকেশনগুলি ব্যবহারকারীকে আসন্ন মিটিংগুলির কথা মনে করিয়ে দিতে সময়-ভিত্তিক বিজ্ঞপ্তি ট্রিগার ব্যবহার করতে পারে। একটি ক্যালেন্ডার অ্যাপের জন্য ডিফল্ট নোটিফিকেশন স্কিম হতে পারে মিটিং এর এক ঘন্টা আগে একটি প্রথম হেড-আপ নোটিফিকেশন দেখানো এবং তারপর পাঁচ মিনিট আগে আরেকটি জরুরি বিজ্ঞপ্তি।

একটি টিভি নেটওয়ার্ক ব্যবহারকারীদের মনে করিয়ে দিতে পারে যে তাদের প্রিয় টিভি শো শুরু হতে চলেছে বা একটি কনফারেন্স লাইভ স্ট্রিম শুরু হতে চলেছে৷

সময় অঞ্চল রূপান্তর সাইটগুলি তাদের ব্যবহারকারীদের টেলিফোন কনফারেন্স বা ভিডিও কলের জন্য অ্যালার্ম নির্ধারণ করতে সময়-ভিত্তিক বিজ্ঞপ্তি ট্রিগার ব্যবহার করতে পারে।

এখনকার অবস্থা

ধাপ স্ট্যাটাস
1. ব্যাখ্যাকারী তৈরি করুন সম্পূর্ণ
2. স্পেসিফিকেশনের প্রাথমিক খসড়া তৈরি করুন শুরু না
3. প্রতিক্রিয়া সংগ্রহ করুন এবং ডিজাইনের উপর পুনরাবৃত্তি করুন। চলমান
4. মূল বিচার সম্পূর্ণ
5. লঞ্চ করুন শুরু না

বিজ্ঞপ্তি ট্রিগার কিভাবে ব্যবহার করবেন

প্রায়://পতাকাগুলির মাধ্যমে সক্ষম করা হচ্ছে৷

কোনো অরিজিন ট্রায়াল টোকেন ছাড়াই স্থানীয়ভাবে নোটিফিকেশন ট্রিগার এপিআই নিয়ে পরীক্ষা করতে, #enable-experimental-web-platform-features ফ্ল্যাগ সক্রিয় করুন about://flags

বৈশিষ্ট্য সনাক্তকরণ

আপনি showTrigger সম্পত্তির অস্তিত্ব পরীক্ষা করে ব্রাউজার বিজ্ঞপ্তি ট্রিগার সমর্থন করে কিনা তা খুঁজে পেতে পারেন:

if ('showTrigger' in Notification.prototype) {
  /* Notification Triggers supported */
}

একটি বিজ্ঞপ্তি সময়সূচী

একটি বিজ্ঞপ্তির সময়সূচী করা একটি নিয়মিত পুশ বিজ্ঞপ্তি দেখানোর অনুরূপ, ব্যতীত যে আপনাকে TimestampTrigger অবজেক্ট সহ একটি showTrigger কন্ডিশন প্রপার্টি পাস করতে হবে বিজ্ঞপ্তির options অবজেক্টের মান হিসাবে।

const createScheduledNotification = async (tag, title, timestamp) => {
  const registration = await navigator.serviceWorker.getRegistration();
  registration.showNotification(title, {
    tag: tag,
    body: 'This notification was scheduled 30 seconds ago',
    showTrigger: new TimestampTrigger(timestamp + 30 * 1000),
  });
};

একটি নির্ধারিত বিজ্ঞপ্তি বাতিল করা হচ্ছে

নির্ধারিত বিজ্ঞপ্তিগুলি বাতিল করতে, প্রথমে ServiceWorkerRegistration.getNotifications() এর মাধ্যমে একটি নির্দিষ্ট ট্যাগের সাথে মেলে এমন সমস্ত বিজ্ঞপ্তিগুলির একটি তালিকার অনুরোধ করুন৷ নোট করুন যে তালিকায় অন্তর্ভুক্ত করার জন্য নির্ধারিত বিজ্ঞপ্তিগুলির জন্য আপনাকে includeTriggered পতাকা পাস করতে হবে:

const cancelScheduledNotification = async (tag) => {
  const registration = await navigator.serviceWorker.getRegistration();
  const notifications = await registration.getNotifications({
    tag: tag,
    includeTriggered: true,
  });
  notifications.forEach((notification) => notification.close());
};

ডিবাগিং

আপনি বিজ্ঞপ্তিগুলি ডিবাগ করতে Chrome DevTools বিজ্ঞপ্তি প্যানেল ব্যবহার করতে পারেন৷ ডিবাগিং শুরু করতে, ইভেন্ট রেকর্ডিং শুরু করুন টিপুন ইভেন্ট রেকর্ডিং শুরু করুন বা কন্ট্রোল + ( ম্যাকে কমান্ড + )। Chrome DevTools সমস্ত বিজ্ঞপ্তি ইভেন্ট রেকর্ড করে, যার মধ্যে নির্ধারিত, প্রদর্শিত এবং বন্ধ বিজ্ঞপ্তিগুলি সহ, তিন দিনের জন্য, এমনকি যখন DevTools বন্ধ থাকে।

একটি নির্ধারিত বিজ্ঞপ্তি ইভেন্ট Chrome DevTools-এর বিজ্ঞপ্তি ফলকে লগ ইন করা হয়েছে, যা অ্যাপ্লিকেশন প্যানেলে অবস্থিত।
একটি নির্ধারিত বিজ্ঞপ্তি।
একটি প্রদর্শিত বিজ্ঞপ্তি ইভেন্ট Chrome DevTools-এর বিজ্ঞপ্তি ফলকে লগ করা হয়েছে৷
একটি প্রদর্শিত বিজ্ঞপ্তি।

ডেমো

আপনি ডেমোতে অ্যাকশনে বিজ্ঞপ্তি ট্রিগারগুলি দেখতে পারেন, যা আপনাকে বিজ্ঞপ্তিগুলির সময়সূচী, নির্ধারিত বিজ্ঞপ্তিগুলি তালিকাভুক্ত করতে এবং সেগুলি বাতিল করতে দেয়৷ সোর্স কোড Glitch এ উপলব্ধ।

বিজ্ঞপ্তি ট্রিগারস ডেমো ওয়েব অ্যাপের একটি স্ক্রিনশট।
বিজ্ঞপ্তি ট্রিগার ডেমো .

নিরাপত্তা এবং অনুমতি

Chrome টিম ব্যবহারকারীর নিয়ন্ত্রণ, স্বচ্ছতা, এবং এরগোনোমিক্স সহ শক্তিশালী ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্যগুলিতে অ্যাক্সেস নিয়ন্ত্রণে সংজ্ঞায়িত মূল নীতিগুলি ব্যবহার করে নোটিফিকেশন ট্রিগার API ডিজাইন এবং প্রয়োগ করেছে৷ যেহেতু এই API-এর জন্য পরিষেবা কর্মীদের প্রয়োজন, এটির জন্য একটি সুরক্ষিত প্রসঙ্গও প্রয়োজন৷ API ব্যবহার করার জন্য নিয়মিত পুশ বিজ্ঞপ্তিগুলির মতো একই অনুমতি প্রয়োজন৷

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

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

স্বচ্ছতা

Push API-এর বিপরীতে, এই API নেটওয়ার্কের উপর নির্ভর করে না, যা নির্দেশ করে যে নির্ধারিত বিজ্ঞপ্তিগুলির জন্য badge , icon এবং image বৈশিষ্ট্যগুলি দ্বারা উল্লেখ করা ছবি সংস্থান সহ সমস্ত প্রয়োজনীয় ডেটা আগে থেকেই প্রয়োজন। এর অর্থ হল একটি নির্ধারিত বিজ্ঞপ্তি দেখানো ডেভেলপার দ্বারা পর্যবেক্ষণযোগ্য নয় এবং ব্যবহারকারী বিজ্ঞপ্তির সাথে ইন্টারঅ্যাক্ট না করা পর্যন্ত পরিষেবা কর্মীকে জাগানোর সাথে জড়িত নয়। ফলস্বরূপ, আইপি অ্যাড্রেস জিওলোকেশন লুকআপের মতো সম্ভাব্য গোপনীয়তা-আক্রমণকারী পদ্ধতির মাধ্যমে বিকাশকারী ব্যবহারকারীর সম্পর্কে তথ্য পেতে পারে এমন কোনও পরিচিত উপায় নেই। এই ডিজাইনটি বৈশিষ্ট্যটিকে ঐচ্ছিকভাবে অ্যান্ড্রয়েডের AlarmManager মতো অপারেটিং সিস্টেম দ্বারা প্রদত্ত শিডিউলিং পদ্ধতিতে ট্যাপ করার অনুমতি দেয়, যা ব্যাটারি সংরক্ষণে সহায়তা করে৷

প্রতিক্রিয়া

Chrome টিম বিজ্ঞপ্তি ট্রিগারের সাথে আপনার অভিজ্ঞতার কথা শুনতে চায়৷

API ডিজাইন সম্পর্কে আমাদের বলুন

API সম্পর্কে এমন কিছু আছে যা আপনার প্রত্যাশিত মত কাজ করে না? অথবা আপনার ধারণা বাস্তবায়নের জন্য আপনার প্রয়োজনীয় পদ্ধতি বা বৈশিষ্ট্যগুলি অনুপস্থিত আছে? নিরাপত্তা মডেল সম্পর্কে একটি প্রশ্ন বা মন্তব্য আছে? নোটিফিকেশন ট্রিগারস গিটহাব রেপোতে একটি বিশেষ সমস্যা ফাইল করুন, বা বিদ্যমান সমস্যাটিতে আপনার চিন্তা যোগ করুন।

বাস্তবায়নে সমস্যা?

আপনি কি Chrome এর বাস্তবায়নের সাথে একটি বাগ খুঁজে পেয়েছেন? অথবা বাস্তবায়ন বৈশিষ্ট থেকে ভিন্ন? new.crbug.com এ একটি বাগ ফাইল করুন। আপনি যতটা পারেন বিস্তারিত, পুনরুত্পাদনের জন্য সহজ নির্দেশাবলী এবং UI>Notifications উপাদান সেট করতে ভুলবেন না। দ্রুত এবং সহজ বাগ পুনরুৎপাদন ভাগ করার জন্য গ্লিচ দুর্দান্ত কাজ করে।

API ব্যবহার করার পরিকল্পনা করছেন?

আপনার সাইটে বিজ্ঞপ্তি ট্রিগার ব্যবহার করার পরিকল্পনা করছেন? আপনার সর্বজনীন সমর্থন আমাদের বৈশিষ্ট্যগুলিকে অগ্রাধিকার দিতে সাহায্য করে এবং অন্যান্য ব্রাউজার বিক্রেতাদের দেখায় যে তাদের সমর্থন করা কতটা গুরুত্বপূর্ণ৷ #NotificationTriggers হ্যাশট্যাগ ব্যবহার করে @ChromiumDev- এ একটি টুইট পাঠান এবং আপনি এটি কোথায় এবং কীভাবে ব্যবহার করছেন তা আমাদের জানান।

সাহা্য্যকারী লিংক

স্বীকৃতি

নোটিফিকেশন ট্রিগার রিচার্ড নল এবং ব্যাখ্যাকারী পিটার বেভারলু দ্বারা রচিত, রিচার্ডের অবদানে বাস্তবায়িত হয়েছিল। নিম্নলিখিত লোকেরা নিবন্ধটি পর্যালোচনা করেছেন: জো মেডলি , পিট লেপেজ , পাশাপাশি রিচার্ড এবং পিটার৷ আনস্প্ল্যাশে লুকাস ব্লাজেকের হিরো ছবি