বর্ণনা
পর্যায়ক্রমে বা ভবিষ্যতে একটি নির্দিষ্ট সময়ে চালানোর জন্য কোড শিডিউল করতে 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,
): Promise<boolean>
প্রদত্ত নাম দিয়ে অ্যালার্ম সাফ করে।
পরামিতি
- নাম
স্ট্রিং ঐচ্ছিক
এলার্ম পরিষ্কার করার নাম। খালি স্ট্রিং ডিফল্ট.
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি এর মতো দেখাচ্ছে:(wasCleared: boolean) => void
- সাফ করা হয়েছে
বুলিয়ান
রিটার্নস
প্রতিশ্রুতি<বুলিয়ান>
Chrome 91+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean>
সমস্ত অ্যালার্ম সাফ করে।
পরামিতি
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি এর মতো দেখাচ্ছে:(wasCleared: boolean) => void
- সাফ করা হয়েছে
বুলিয়ান
রিটার্নস
প্রতিশ্রুতি<বুলিয়ান>
Chrome 91+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
create()
chrome.alarms.create(
name?: string,
alarmInfo: AlarmCreateInfo,
callback?: function,
): Promise<void>
একটি অ্যালার্ম তৈরি করে। alarmInfo দ্বারা নির্দিষ্ট সময়(গুলি) কাছাকাছি, onAlarm ইভেন্টটি চালু হয়৷ যদি একই নামের আরেকটি অ্যালার্ম থাকে (অথবা কোনো নাম উল্লেখ না থাকলে), এটি বাতিল করা হবে এবং এই অ্যালার্ম দ্বারা প্রতিস্থাপিত হবে।
ব্যবহারকারীর মেশিনে লোড কমানোর জন্য, Chrome প্রতি 30 সেকেন্ডে সর্বোচ্চ একবার অ্যালার্ম সীমিত করে কিন্তু তাদের ইচ্ছামত পরিমাণে বিলম্ব করতে পারে। অর্থাৎ, delayInMinutes বা periodInMinutes 0.5 এর কম সেট করা সম্মানিত হবে না এবং একটি সতর্কতা সৃষ্টি করবে। when সতর্কতা ছাড়াই "এখন" পরে 30 সেকেন্ডের কম সময়ে সেট করা যেতে পারে কিন্তু প্রকৃতপক্ষে অন্তত 30 সেকেন্ডের জন্য অ্যালার্ম ফায়ার করবে না।
আপনার অ্যাপ বা এক্সটেনশন ডিবাগ করতে সাহায্য করার জন্য, আপনি যখন এটি আনপ্যাক করে লোড করেন, তখন কত ঘন ঘন অ্যালার্ম ফায়ার হতে পারে তার কোনো সীমা নেই।
পরামিতি
- নাম
স্ট্রিং ঐচ্ছিক
এই অ্যালার্ম সনাক্ত করার জন্য ঐচ্ছিক নাম। খালি স্ট্রিং ডিফল্ট.
- অ্যালার্ম তথ্য
অ্যালার্ম কখন ফায়ার করা উচিত তা বর্ণনা করে। প্রাথমিক সময় অবশ্যই
whenবাdelayInMinutesদ্বারা নির্দিষ্ট করা উচিত (কিন্তু উভয়ই নয়)। যদিperiodInMinutesসেট করা থাকে, তবে প্রাথমিক ইভেন্টের পর প্রতিperiodInMinutesমিনিটে অ্যালার্ম পুনরাবৃত্তি হবে। একটি পুনরাবৃত্তি অ্যালার্মের জন্যwhenবাdelayInMinutesসেট করা না থাকলে,periodInMinutesdelayInMinutesজন্য ডিফল্ট হিসাবে ব্যবহৃত হয়। - কলব্যাক
ফাংশন ঐচ্ছিক
Chrome 111+callbackপ্যারামিটারটি এর মতো দেখাচ্ছে:() => void
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 111+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
নির্দিষ্ট অ্যালার্ম সম্পর্কে বিশদ পুনরুদ্ধার করে।
পরামিতি
রিটার্নস
প্রতিশ্রুতি< অ্যালার্ম | undefined>
Chrome 91+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
সব অ্যালার্ম একটি অ্যারে পায়.
পরামিতি
রিটার্নস
প্রতিশ্রুতি< অ্যালার্ম []>
Chrome 91+প্রতিশ্রুতি শুধুমাত্র ম্যানিফেস্ট V3 এর জন্য সমর্থিত এবং পরবর্তীতে, অন্যান্য প্ল্যাটফর্মকে কলব্যাক ব্যবহার করতে হবে।