ब्यौरा
chrome.alarms
एपीआई का इस्तेमाल करके, कोड को समय-समय पर या आने वाले समय में किसी तय समय पर चलाने के लिए शेड्यूल करें.
अनुमतियां
alarms
मेनिफ़ेस्ट
chrome.alarms
API का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में "alarms"
की अनुमति के बारे में एलान करें:
{
"name": "My extension",
...
"permissions": [
"alarms"
],
...
}
उदाहरण
यहां दिए गए उदाहरणों में, अलार्म का इस्तेमाल करने और उसका जवाब देने का तरीका बताया गया है. इस एपीआई को आज़माने के लिए, 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
number ज़रूरी नहीं
अगर यह वैल्यू शून्य नहीं है, तो इसका मतलब है कि अलार्म को दोहराया जाएगा और यह
periodInMinutes
मिनट में फिर से बजेगा. -
scheduledTime
संख्या
यह अलार्म किस समय के लिए शेड्यूल किया गया था.यह समय, ईपॉक के बाद के मिलीसेकंड में होता है. जैसे,
Date.now() + n
. परफ़ॉर्मेंस की वजह से, अलार्म को इस समय के बाद कुछ समय के लिए रोका जा सकता है.
AlarmCreateInfo
प्रॉपर्टी
-
delayInMinutes
number ज़रूरी नहीं
onAlarm
इवेंट को ट्रिगर करने के लिए, कितने मिनट का समय तय करना है. -
periodInMinutes
number ज़रूरी नहीं
अगर इसे सेट किया जाता है, तो
when
याdelayInMinutes
से तय किए गए शुरुआती इवेंट के बाद, हरperiodInMinutes
मिनट में onAlarm इवेंट ट्रिगर होना चाहिए. अगर इसे सेट नहीं किया गया है, तो अलार्म सिर्फ़ एक बार बजेगा. -
कब
number ज़रूरी नहीं
वह समय जब अलार्म बजना चाहिए.यह समय, epoch के बाद के मिलीसेकंड में होता है. जैसे,
Date.now() + n
.
तरीके
clear()
chrome.alarms.clear(
name?: string,
callback?: function,
): Promise<boolean>
इस कमांड से, दिए गए नाम वाला अलार्म बंद हो जाता है.
पैरामीटर
-
नाम
string ज़रूरी नहीं है
उस अलार्म का नाम जिसे बंद करना है. डिफ़ॉल्ट रूप से, यह खाली स्ट्रिंग होती है.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(wasCleared: boolean) => void
-
wasCleared
बूलियन
-
रिटर्न
-
Promise<boolean>
Chrome 91 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
clearAll()
chrome.alarms.clearAll(
callback?: function,
): Promise<boolean>
इससे सभी अलार्म मिट जाते हैं.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:(wasCleared: boolean) => void
-
wasCleared
बूलियन
-
रिटर्न
-
Promise<boolean>
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 सेकंड तक नहीं बजेगा.
अगर आपने ऐप्लिकेशन या एक्सटेंशन को अनपैक करके लोड किया है, तो उसे डीबग करने में आपकी मदद करने के लिए, अलार्म को जितनी बार चाहें उतनी बार ट्रिगर किया जा सकता है.
पैरामीटर
-
नाम
string ज़रूरी नहीं है
इस अलार्म की पहचान करने के लिए, वैकल्पिक नाम. डिफ़ॉल्ट रूप से, यह खाली स्ट्रिंग होती है.
-
alarmInfo
यह बताता है कि अलार्म कब बजना चाहिए. शुरू होने का समय,
when
याdelayInMinutes
में से किसी एक के ज़रिए बताया जाना चाहिए. दोनों का इस्तेमाल नहीं किया जा सकता. अगरperiodInMinutes
सेट किया गया है, तो अलार्म शुरुआती इवेंट के बाद हरperiodInMinutes
मिनट में बजेगा. अगर दोहराए जाने वाले अलार्म के लिए,when
याdelayInMinutes
में से कोई भी सेट नहीं किया गया है, तोdelayInMinutes
के लिएperiodInMinutes
को डिफ़ॉल्ट के तौर पर इस्तेमाल किया जाता है. -
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
Chrome 111+callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 111+प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
get()
chrome.alarms.get(
name?: string,
callback?: function,
): Promise<Alarm | undefined>
इस फ़ंक्शन का इस्तेमाल, किसी अलार्म के बारे में जानकारी पाने के लिए किया जाता है.
पैरामीटर
रिटर्न
-
Promise<Alarm | undefined>
Chrome 91 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getAll()
chrome.alarms.getAll(
callback?: function,
): Promise<Alarm[]>
इससे सभी अलार्म की एक ऐरे मिलती है.
पैरामीटर
रिटर्न
-
Promise<Alarm[]>
Chrome 91 या इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.