chrome.alarms

ब्यौरा

कोड को समय-समय पर या आने वाले किसी खास समय पर शेड्यूल करने के लिए, chrome.alarms API का इस्तेमाल करें.

अनुमतियां

alarms

मेनिफ़ेस्ट

chrome.alarms एपीआई का इस्तेमाल करने के लिए, मेनिफ़ेस्ट में "alarms" की अनुमति का एलान करें:

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

उदाहरण

यहां दिए गए उदाहरणों में अलार्म को इस्तेमाल करने और उस पर जवाब देने का तरीका बताया गया है. इस एपीआई को इस्तेमाल करने के लिए, chrome-extension-सैंपल डेटा स्टोर करने की जगह से अलार्म एपीआई का उदाहरण इंस्टॉल करें.

अलार्म सेट करो

नीचे दिया गया उदाहरण, एक्सटेंशन के इंस्टॉल होने पर सर्विस वर्कर में अलार्म सेट करता है:

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 मिनट में फिर से चालू हो जाएगा.

  • scheduledTime

    नंबर

    वह समय जब इस अलार्म को epoch के बाद (जैसे कि Date.now() + n) के बाद सक्रिय होने के लिए शेड्यूल किया गया था. प्रदर्शन कारणों से, अलार्म को इससे आगे के किसी भी अनिश्चित समय पर ट्रिगर किया जा सकता है.

AlarmCreateInfo

प्रॉपर्टी

  • delayInMinutes

    नंबर ज़रूरी नहीं

    समय की अवधि (मिनट में). इसके बाद, onAlarm इवेंट ट्रिगर होगा.

  • periodInMinutes

    नंबर ज़रूरी नहीं

    अगर इस नीति को सेट किया जाता है, तो when या delayInMinutes के बताए गए शुरुआती इवेंट के हर periodInMinutes मिनट बाद, onअलार्म इवेंट चालू होना चाहिए. अगर इस नीति को सेट नहीं किया जाता है, तो अलार्म सिर्फ़ एक बार चालू होगा.

  • कब

    नंबर ज़रूरी नहीं

    वह समय जब अलार्म सक्रिय होना चाहिए, epoch के बाद मिलीसेकंड में (उदाहरण के लिए, Date.now() + n).

तरीके

clear()

वादा
chrome.alarms.clear(
  name?: string,
  callback?: function,
)

दिए गए नाम से अलार्म हटाता है.

पैरामीटर

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    हटाने के लिए अलार्म का नाम. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (wasCleared: boolean)=>void

    • wasCleared

      boolean

रिटर्न

  • Promise<boolean>

    Chrome 91 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

clearAll()

वादा
chrome.alarms.clearAll(
  callback?: function,
)

सभी अलार्म हटाता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (wasCleared: boolean)=>void

    • wasCleared

      boolean

रिटर्न

  • Promise<boolean>

    Chrome 91 और इसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

create()

वादा
chrome.alarms.create(
  name?: string,
  alarmInfo: AlarmCreateInfo,
  callback?: function,
)

अलार्म सेट करता है. alarmInfo के बताए गए समय के पास, onAlarm इवेंट सक्रिय होता है. अगर इसी नाम का कोई दूसरा अलार्म मौजूद है (या अगर कोई नाम नहीं बताया गया है, तो कोई नाम नहीं दिया गया है), तो उसे रद्द कर दिया जाएगा और उसकी जगह यह अलार्म लगा दिया जाएगा.

उपयोगकर्ता की मशीन पर लोड कम करने के लिए, Chrome हर 30 सेकंड में ज़्यादा से ज़्यादा एक बार अलार्म सेट करता है. हालांकि, इससे अलार्म के लिए तय सीमा से ज़्यादा समय लग सकता है. इसका मतलब है कि delayInMinutes या periodInMinutes को 0.5 से कम पर सेट करने पर ध्यान नहीं दिया जाएगा और आपको चेतावनी दी जाएगी. when को "अभी" के बाद, बिना किसी चेतावनी के 30 सेकंड से कम समय पर सेट किया जा सकता है. हालांकि, इससे अलार्म कम से कम 30 सेकंड तक चालू नहीं होगा.

अपने ऐप्लिकेशन या एक्सटेंशन को डीबग करने में मदद के लिए, जब आपने उसे अनपैक किया हुआ लोड किया हो, तो अलार्म कितनी बार ट्रिगर हो सकता है, इसकी कोई सीमा नहीं है.

पैरामीटर

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    इस अलार्म की पहचान करने के लिए, यह नाम ज़रूरी नहीं है. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • 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,
)

बताए गए अलार्म के बारे में जानकारी देता है.

पैरामीटर

  • नाम

    स्ट्रिंग ज़रूरी नहीं

    पाने वाले अलार्म का नाम. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (alarm?: Alarm)=>void

रिटर्न

  • वादा<अलार्म|undefined>

    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