PeriodicSyncManager.register()

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 Synchronization
The definition of 'register' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getTags
ExperimentalNon-standard
Chrome Full support 80Edge Full support 80Firefox No support NoIE No support NoOpera Full support 67Safari No support NoWebView Android Full support 80Chrome Android Full support 80Firefox Android No support NoOpera Android Full support 57Safari iOS No support NoSamsung 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