Web/API/PeriodicSyncManager/register

From Get docs

Draft This page is not complete.


The register() method of the PeriodicSyncManager interface registers a periodic sync request with the browser with the specified tag and options. It returns a Promise that resolves when the registration completes.

Syntax

var register = PeriodicSyncManager.register(tag, BackgroundSyncOptions);

Parameters

tag
A unique String identifier
BackgroundSyncOptions Optional
An Object containing the following optional data:
minInterval
  • The minimum interval time, in milliseconds, at which the periodic sync should occur.

Return value

Returns a Promise that resolves with undefined

Exceptions

InvalidStateError
There is no active ServiceWorker present.
NotAllowedError
If permission for background periodic sync is not granted.
InvalidAccessError
The active window is not the main window (not of "auxiliary" or "top-level" type).

Examples

The following asynchronous function registers a periodic background sync at a minimum interval of one day from a browsing context:

async function registerPeriodicNewsCheck() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.periodicSync.register('fetch-news', {
      minInterval: 24 * 60 * 60 * 1000,
    });
  } catch {
    console.log('Periodic Sync could not be registered!');
  }
}

Specifications

Specification Status Comment
Web Periodic Background SynchronizationThe definition of 'register' in that specification. Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

getTags

Experimental'Non-standard'

Chrome

Full support 80

Edge

Full support 80

Firefox

No support No

IE

No support No

Opera

Full support 67

Safari

No support No

WebView Android

Full support 80

Chrome Android

Full support 80

Firefox Android

No support No

Opera Android

Full support 57

Safari iOS

No support No

Samsung Internet Android

Full support 13.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.


See also