chrome.alarms

বিবরণ

chrome.alarms API ব্যবহার করে কোডটি পর্যায়ক্রমে বা ভবিষ্যতে একটি নির্দিষ্ট সময়ে চালানোর জন্য সময়সূচী করুন।

অনুমতিসমূহ

alarms

chrome.alarms API ব্যবহার করতে, ম্যানিফেস্টে "alarms" অনুমতি ঘোষণা করুন:

{
  "name": "My extension",
  ...
  "permissions": [
    "alarms"
  ],
  ...
}

ধারণা এবং ব্যবহার

নির্ভরযোগ্য আচরণ নিশ্চিত করার জন্য, API কীভাবে আচরণ করে তা বোঝা সহায়ক।

ডিভাইসের স্লিপ মোড

ডিভাইসটি ঘুমন্ত অবস্থায় থাকাকালীন অ্যালার্ম চলতে থাকে। তবে, অ্যালার্ম কোনও ডিভাইসকে জাগিয়ে তুলবে না। ডিভাইসটি জেগে উঠলে, যে কোনও মিসড অ্যালার্ম বাজবে। পুনরাবৃত্তি হওয়া অ্যালার্মগুলি সর্বাধিক একবার বাজবে এবং তারপরে ডিভাইসটি জেগে ওঠার সময় থেকে শুরু করে নির্দিষ্ট সময়কাল ব্যবহার করে পুনঃনির্ধারণ করা হবে, অ্যালার্মটি মূলত চালানোর জন্য সেট করার পর থেকে ইতিমধ্যেই অতিবাহিত কোনও সময় বিবেচনা করা হবে না।

অধ্যবসায়

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

async function checkAlarmState() {
  const alarm = await chrome.alarms.get("my-alarm");

  if (!alarm) {
    await chrome.alarms.create("my-alarm", { periodInMinutes: 1 });
  }
}

checkAlarmState();

উদাহরণ

নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে অ্যালার্ম ব্যবহার করতে হয় এবং প্রতিক্রিয়া জানাতে হয়। এই API ব্যবহার করে দেখতে, chrome-extension-samples সংগ্রহস্থল থেকে অ্যালার্ম API উদাহরণটি ইনস্টল করুন।

একটি অ্যালার্ম সেট করুন

এক্সটেনশনটি ইনস্টল করার সময় নিম্নলিখিত উদাহরণটি পরিষেবা কর্মীর মধ্যে একটি অ্যালার্ম সেট করে:

service-worker.js:

chrome.runtime.onInstalled.addListener(async ({ reason }) => {
  if (reason !== 'install') {
    return;
  }

  // Create an alarm so we have something to look at in the demo
  await chrome.alarms.create('demo-default-alarm', {
    delayInMinutes: 1,
    periodInMinutes: 1
  });
});

অ্যালার্মের উত্তর দিন

নিচের উদাহরণটি অ্যালার্মের নামের উপর ভিত্তি করে অ্যাকশন টুলবার আইকন সেট করে।

service-worker.js:

chrome.alarms.onAlarm.addListener((alarm) => {
  chrome.action.setIcon({
    path: getIconPath(alarm.name),
  });
});

প্রকারভেদ

Alarm

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

    এই অ্যালার্মের নাম।

  • মিনিটে সময়কাল

    সংখ্যা ঐচ্ছিক

    যদি null না হয়, তাহলে অ্যালার্মটি একটি পুনরাবৃত্তিমূলক অ্যালার্ম এবং periodInMinutes মিনিটের মধ্যে আবার বাজবে।

  • নির্ধারিত সময়

    সংখ্যা

    এই অ্যালার্মটি যে সময়ে বাজতে নির্ধারিত ছিল, সেই সময়টি যুগের পরে মিলিসেকেন্ডে (যেমন Date.now() + n )। পারফরম্যান্সের কারণে, অ্যালার্মটি এর চেয়ে অনেক বেশি বিলম্বিত হতে পারে।

AlarmCreateInfo

বৈশিষ্ট্য

  • মিনিটে বিলম্ব করুন

    সংখ্যা ঐচ্ছিক

    onAlarm ইভেন্টটি চালু হওয়ার সময়কাল মিনিটে।

  • মিনিটে সময়কাল

    সংখ্যা ঐচ্ছিক

    যদি সেট করা থাকে, তাহলে when বা delayInMinutes দ্বারা নির্দিষ্ট প্রাথমিক ইভেন্টের প্রতি periodInMinutes মিনিট পরে onAlarm ইভেন্টটি চালু হবে। যদি সেট না করা থাকে, তাহলে অ্যালার্মটি কেবল একবারই চালু হবে।

  • কখন

    সংখ্যা ঐচ্ছিক

    যে সময়ে অ্যালার্ম বাজবে, সেই সময়কাল, যুগের পরে মিলিসেকেন্ডে (যেমন Date.now() + n )।

পদ্ধতি

clear()

chrome.alarms.clear(
  name?: string,
)
: Promise<boolean>

প্রদত্ত নাম দিয়ে অ্যালার্ম সাফ করে।

পরামিতি

  • নাম

    স্ট্রিং ঐচ্ছিক

    পরিষ্কার করার জন্য অ্যালার্মের নাম। ডিফল্টভাবে খালি স্ট্রিং ব্যবহার করা হয়।

রিটার্নস

  • প্রতিশ্রুতি<বুলিয়ান>

    ক্রোম ৯১+

clearAll()

chrome.alarms.clearAll(): Promise<boolean>

সমস্ত অ্যালার্ম সাফ করে।

রিটার্নস

  • প্রতিশ্রুতি<বুলিয়ান>

    ক্রোম ৯১+

create()

chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
)
: Promise<void>

একটি অ্যালার্ম তৈরি করে। alarmInfo দ্বারা নির্দিষ্ট সময়ের কাছাকাছি, onAlarm ইভেন্টটি চালু হয়। যদি একই নামের আরেকটি অ্যালার্ম থাকে (অথবা যদি কোনও নাম উল্লেখ না করা থাকে তবে কোনও নাম থাকে না), তবে এটি বাতিল করা হবে এবং এই অ্যালার্ম দ্বারা প্রতিস্থাপিত হবে।

ব্যবহারকারীর মেশিনের উপর চাপ কমাতে, Chrome সর্বোচ্চ ৩০ সেকেন্ড অন্তর অ্যালার্ম বাজানোর সীমাবদ্ধতা রাখে, কিন্তু নির্দিষ্ট পরিমাণে বিলম্ব করতে পারে। অর্থাৎ, delayInMinutes বা periodInMinutes কে 0.5 এর কম সেট করলে তা মেনে নেওয়া হবে না এবং একটি সতর্কতা জারি করবে। "এখন" এর পরে ৩০ সেকেন্ডের কম সময়ে when কোনও সতর্কতা ছাড়াই সেট করা যেতে পারে তবে প্রকৃতপক্ষে কমপক্ষে ৩০ সেকেন্ডের জন্য অ্যালার্ম বাজবে না।

আপনার অ্যাপ বা এক্সটেনশন ডিবাগ করতে সাহায্য করার জন্য, যখন আপনি এটি আনপ্যাকড লোড করেন, তখন অ্যালার্ম কতবার বাজতে পারে তার কোনও সীমা নেই।

পরামিতি

  • নাম

    স্ট্রিং ঐচ্ছিক

    এই অ্যালার্মটি সনাক্ত করার জন্য ঐচ্ছিক নাম। ডিফল্টভাবে খালি স্ট্রিং ব্যবহার করা হয়।

  • অ্যালার্ম তথ্য

    অ্যালার্ম কখন বাজবে তা বর্ণনা করে। প্রাথমিক সময় when অথবা delayInMinutes (কিন্তু উভয়ই নয়) দ্বারা নির্দিষ্ট করতে হবে। যদি periodInMinutes সেট করা থাকে, তাহলে প্রাথমিক ইভেন্টের প্রতিটি periodInMinutes মিনিট পরে অ্যালার্মটি পুনরাবৃত্তি হবে। যদি when অথবা delayInMinutes পুনরাবৃত্তিমূলক অ্যালার্মের জন্য সেট করা না থাকে, periodInMinutes delayInMinutes এর জন্য ডিফল্ট হিসাবে ব্যবহৃত হয়।

রিটার্নস

  • প্রতিশ্রুতি<অকার্যকর>

    ক্রোম ১১১+

get()

chrome.alarms.get(
  name?: string,
)
: Promise<Alarm | undefined>

নির্দিষ্ট অ্যালার্ম সম্পর্কে বিশদ তথ্য সংগ্রহ করে।

পরামিতি

  • নাম

    স্ট্রিং ঐচ্ছিক

    যে অ্যালার্মটি পেতে হবে তার নাম। ডিফল্টভাবে খালি স্ট্রিং ব্যবহার করা হবে।

রিটার্নস

getAll()

chrome.alarms.getAll(): Promise<Alarm[]>

সমস্ত অ্যালার্মের একটি অ্যারে পায়।

রিটার্নস

ইভেন্টগুলি

onAlarm

chrome.alarms.onAlarm.addListener(
  callback: function,
)

অ্যালার্ম শেষ হয়ে গেলে চালু হয়। ইভেন্ট পৃষ্ঠাগুলির জন্য উপযোগী।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এরকম:

    (alarm: Alarm) => void