refresh date: 2026-09-25 robots: noindex
বিবরণ
নিয়মিতভাবে বা ভবিষ্যতে নির্দিষ্ট সময়ে কোড রান করার শিডিউল করতে chrome.alarms API ব্যবহার করুন।
অনুমতি
alarmsম্যানিফেস্ট
chrome.alarms API ব্যবহার করতে, ম্যানিফেস্টে "alarms" অনুমতি ঘোষণা করুন:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
উদাহরণ
অ্যালার্ম কীভাবে ব্যবহার করতে হয় এবং তার উত্তর দিতে হয় তা নিম্নলিখিত উদাহরণ থেকে দেখুন। এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে 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
নম্বর ঐচ্ছিক
নাল না হলে, অ্যালার্মটি রিপিট হবে এবং
periodInMinutesমিনিট পরে আবার বাজবে। -
persistAcrossSessions
বুলিয়ান
Chrome 150+সেশন (ব্রাউজার রিস্টার্ট) জুড়ে অ্যালার্মটি বজায় থাকবে কিনা।
-
scheduledTime
নম্বর
এই অ্যালার্মটি যে সময়ে বাজার জন্য শিডিউল করা হয়েছিল, তা যুগ শুরুর পর থেকে মিলিসেকেন্ডে (যেমন
Date.now() + n)। পারফর্ম্যান্সের কারণে, অ্যালার্মটি এর বাইরে একটি ইচ্ছামত পরিমাণে বিলম্বিত হতে পারে।
AlarmCreateInfo
প্রপার্টি
-
delayInMinutes
নম্বর ঐচ্ছিক
মিনিটে সময়ের দৈর্ঘ্য যার পরে
onAlarmইভেন্ট ফায়ার করা উচিত। -
নাম
স্ট্রিং ঐচ্ছিক
Chrome 152+এই অ্যালার্মের নাম।
-
periodInMinutes
নম্বর ঐচ্ছিক
সেট করা থাকলে,
whenবাdelayInMinutesদ্বারা নির্দিষ্ট করা প্রাথমিক ইভেন্টের পরে প্রতিperiodInMinutesমিনিট অন্তর onAlarm ইভেন্ট ফায়ার করা উচিত। সেট করা না থাকলে, অ্যালার্মটি একবারই বাজবে। -
persistAcrossSessions
বুলিয়ান ঐচ্ছিক
Chrome 150+সেশন (ব্রাউজার রিস্টার্ট) জুড়ে অ্যালার্মটি বজায় থাকবে কিনা। Chrome-এ, এটি ডিফল্ট হিসেবে true-তে সেট করা থাকে যাতে পুরনো আচরণের সাথে ম্যাচ করে, তবে ব্রাউজার জুড়ে মানানসই করার সুবিধা সর্বাধিক করতে আপনাকে এটি স্পষ্টভাবে সেট করতে হবে।
-
কখন
নম্বর ঐচ্ছিক
যে সময়ে অ্যালার্ম বাজবে, সেটি ইপকের পরে মিলিসেকেন্ডে (যেমন,
Date.now() + n)।
পদ্ধতি
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
): Promise<boolean>
প্রদত্ত নামের অ্যালার্ম মুছে দেয়।
প্যারামিটারগুলি
-
নাম
স্ট্রিং ঐচ্ছিক
যে অ্যালার্মটি মুছে ফেলতে চান সেটির নাম। ডিফল্ট হিসেবে ফাঁকা স্ট্রিং থাকে।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(wasCleared: boolean) => void
-
wasCleared
বুলিয়ান
-
রিটার্ন
-
Promise<boolean>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean | undefined>
সব অ্যালার্ম মুছে দেয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(wasCleared?: boolean) => void
-
wasCleared
বুলিয়ান ঐচ্ছিক
-
রিটার্ন
-
Promise<boolean | undefined>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
): Promise<void>
অ্যালার্ম তৈরি করে। alarmInfo-এর উল্লেখ করা সময়ের কাছাকাছি, onAlarm ইভেন্টটি ফায়ার করা হয়। একই নামের অন্য কোনও অ্যালার্ম থাকলে (অথবা কোনও নাম উল্লেখ না করা থাকলে), সেটি বাতিল করে এই অ্যালার্মটি সেট করা হবে।
ব্যবহারকারীর মেশিনের উপর লোড কমাতে, Chrome প্রতি সেকেন্ডে সর্বাধিক একবার অ্যালার্ম সীমিত করে, তবে সেগুলি আরও বেশি পরিমাণে বিলম্বিত হতে পারে। অর্থাৎ, delayInMinutes বা periodInMinutes ১ সেকেন্ডের কম সেট করলে তা গ্রাহ্য হবে না এবং একটি সতর্কতা দেখানো হবে। when "এখন" থেকে ১ সেকেন্ডের কম সময়ের জন্য সেট করা যেতে পারে, তবে অ্যালার্মটি অন্তত ১ সেকেন্ডের জন্য বাজবে না।
প্যারামিটারগুলি
-
নাম
স্ট্রিং ঐচ্ছিক
এই অ্যালার্ম শনাক্ত করার জন্য ঐচ্ছিক নাম। ডিফল্ট হিসেবে ফাঁকা স্ট্রিং থাকে।
-
alarmInfo
অ্যালার্ম কখন ট্রিগার হবে তা বর্ণনা করে। শুরুর সময় অবশ্যই
whenবাdelayInMinutes(তবে দুটিই নয়) দ্বারা নির্দিষ্ট করতে হবে।periodInMinutesসেট করা থাকলে, প্রাথমিক ইভেন্টের পরে প্রতিperiodInMinutesমিনিট অন্তর অ্যালার্ম রিপিট হবে। রিপিট হওয়া অ্যালার্মের জন্যwhenবাdelayInMinutes-এর কোনওটিই সেট করা না থাকলে,delayInMinutes-এর জন্য ডিফল্ট হিসেবেperiodInMinutesব্যবহার করা হয়। -
কলব্যাক
ফাংশন ঐচ্ছিক
Chrome 111+callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 111+অ্যালার্ম তৈরি হয়ে গেলে প্রমিস রিজলভ হয়ে যায়।
Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
নির্দিষ্ট অ্যালার্ম সম্পর্কে বিবরণ ফিরিয়ে আনে।
প্যারামিটারগুলি
রিটার্ন
-
Promise<Alarm | undefined>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
সব অ্যালার্মের একটি অ্যারে পায়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(alarms: Alarm[]) => void
-
অ্যালার্ম
-
রিটার্ন
-
প্রতিশ্রুতি<অ্যালার্ম[]>
Chrome 91+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।