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