chrome.alarms

বর্ণনা

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

অনুমতি

alarms

উদ্ভাসিত

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

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

উদাহরণ

নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে একটি অ্যালার্ম ব্যবহার এবং প্রতিক্রিয়া জানাতে হয়। এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে Alarm 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

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

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

  • পিরিয়ডইন মিনিটস

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

    যদি শূন্য না হয়, তবে অ্যালার্মটি একটি পুনরাবৃত্ত অ্যালার্ম এবং periodInMinutes মিনিটে আবার ফায়ার হবে৷

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

    সংখ্যা

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

AlarmCreateInfo

বৈশিষ্ট্য

  • মিনিটে বিলম্ব

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

    মিনিটের মধ্যে সময়ের দৈর্ঘ্য যার পরে onAlarm ইভেন্টটি ফায়ার করা উচিত।

  • পিরিয়ডইন মিনিটস

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

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

  • কখন

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

    যে সময়ে অ্যালার্ম ফায়ার করা উচিত, সেই যুগের মিলিসেকেন্ডে (যেমন Date.now() + n )।

পদ্ধতি

clear()

প্রতিশ্রুতি
chrome.alarms.clear(
  name?: string,
  callback?: function,
)

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

পরামিতি

  • নাম

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

    এলার্ম পরিষ্কার করার নাম। খালি স্ট্রিং ডিফল্ট.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (wasCleared: boolean)=>void

    • সাফ করা হয়েছে

      বুলিয়ান

রিটার্নস

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

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

clearAll()

প্রতিশ্রুতি
chrome.alarms.clearAll(
  callback?: function,
)

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

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (wasCleared: boolean)=>void

    • সাফ করা হয়েছে

      বুলিয়ান

রিটার্নস

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

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

create()

প্রতিশ্রুতি
chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
  callback?: function,
)

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

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

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

পরামিতি

  • নাম

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

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

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

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 111+

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

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 111+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

get()

প্রতিশ্রুতি
chrome.alarms.get(
  name?: string,
  callback?: function,
)

নির্দিষ্ট অ্যালার্ম সম্পর্কে বিশদ পুনরুদ্ধার করে।

পরামিতি

  • নাম

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

    এলার্ম পাওয়ার নাম। খালি স্ট্রিং ডিফল্ট.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (alarm?: Alarm)=>void

রিটার্নস

  • প্রতিশ্রুতি< অ্যালার্ম |অনির্ধারিত>

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getAll()

প্রতিশ্রুতি
chrome.alarms.getAll(
  callback?: function,
)

সব অ্যালার্ম একটি অ্যারে পায়.

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (alarms: Alarm[])=>void

রিটার্নস

  • প্রতিশ্রুতি< অ্যালার্ম []>

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

ঘটনা

onAlarm

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

একটি অ্যালার্ম অতিবাহিত হলে গুলি চালানো হয়। ইভেন্ট পেজ জন্য দরকারী.

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (alarm: Alarm)=>void

,

বর্ণনা

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

অনুমতি

alarms

উদ্ভাসিত

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

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

উদাহরণ

নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে একটি অ্যালার্ম ব্যবহার এবং প্রতিক্রিয়া জানাতে হয়। এই APIটি চেষ্টা করতে, chrome-extension-samples repository থেকে Alarm 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

বৈশিষ্ট্য

  • নাম

    স্ট্রিং

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

  • পিরিয়ডইন মিনিটস

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

    যদি শূন্য না হয়, তবে অ্যালার্মটি একটি পুনরাবৃত্ত অ্যালার্ম এবং periodInMinutes মিনিটে আবার ফায়ার হবে৷

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

    সংখ্যা

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

AlarmCreateInfo

বৈশিষ্ট্য

  • মিনিটে বিলম্ব

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

    মিনিটের মধ্যে সময়ের দৈর্ঘ্য যার পরে onAlarm ইভেন্টটি ফায়ার করা উচিত।

  • পিরিয়ডইন মিনিটস

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

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

  • কখন

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

    যে সময়ে অ্যালার্ম ফায়ার করা উচিত, সেই যুগের মিলিসেকেন্ডে (যেমন Date.now() + n )।

পদ্ধতি

clear()

প্রতিশ্রুতি
chrome.alarms.clear(
  name?: string,
  callback?: function,
)

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

পরামিতি

  • নাম

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

    এলার্ম পরিষ্কার করার নাম। খালি স্ট্রিং ডিফল্ট.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (wasCleared: boolean)=>void

    • সাফ করা হয়েছে

      বুলিয়ান

রিটার্নস

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

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

clearAll()

প্রতিশ্রুতি
chrome.alarms.clearAll(
  callback?: function,
)

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

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (wasCleared: boolean)=>void

    • সাফ করা হয়েছে

      বুলিয়ান

রিটার্নস

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

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

create()

প্রতিশ্রুতি
chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
  callback?: function,
)

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

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

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

পরামিতি

  • নাম

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

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

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

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

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    Chrome 111+

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

    ()=>void

রিটার্নস

  • প্রতিশ্রুতি <void>

    Chrome 111+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

get()

প্রতিশ্রুতি
chrome.alarms.get(
  name?: string,
  callback?: function,
)

নির্দিষ্ট অ্যালার্ম সম্পর্কে বিশদ পুনরুদ্ধার করে।

পরামিতি

  • নাম

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

    এলার্ম পাওয়ার নাম। খালি স্ট্রিং ডিফল্ট.

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (alarm?: Alarm)=>void

রিটার্নস

  • প্রতিশ্রুতি< অ্যালার্ম |অনির্ধারিত>

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

getAll()

প্রতিশ্রুতি
chrome.alarms.getAll(
  callback?: function,
)

সব অ্যালার্ম একটি অ্যারে পায়.

পরামিতি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

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

    (alarms: Alarm[])=>void

রিটার্নস

  • প্রতিশ্রুতি< অ্যালার্ম []>

    Chrome 91+

    প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।

ঘটনা

onAlarm

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

একটি অ্যালার্ম অতিবাহিত হলে গুলি চালানো হয়। ইভেন্ট পেজ জন্য দরকারী.

পরামিতি

  • কলব্যাক

    ফাংশন

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

    (alarm: Alarm)=>void