Amplify JS API Documentation
    Preparing search index...

    Provides a means to registering a service worker in the browser and communicating with it via postMessage events. https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/

    postMessage events are currently not supported in all browsers. See: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

    At the minmum this class will register the service worker and listen and attempt to dispatch messages on state change and record analytics events based on the service worker lifecycle.

    Index

    Constructors

    Accessors

    • get serviceWorker(): ServiceWorker

      Get the currently active service worker

      Returns ServiceWorker

    Methods

    • Listen for service worker state change and message events https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state

      Each call to register() attaches its own statechange listener. The onStateChange handler is captured in a local at listener-creation time, so re-registering with a different handler only affects its own listener and never re-targets a previously attached one.

      Returns void

    • Register the service-worker.js file in the browser Make sure the service-worker.js is part of the build for example with Angular, modify the angular-cli.json file and add to "assets" array "service-worker.js"

      Note: when options.onStateChange is omitted, this method implicitly records service worker lifecycle (statechange) events to Amazon Pinpoint. That built-in auto-recording is deprecated and will be removed in a future major version — only the implicit Pinpoint recording is deprecated, not register() itself. Provide options.onStateChange to observe lifecycle state changes and emit vendor-neutral telemetry instead.

      Parameters

      • OptionalfilePath: string

        Service worker file. Defaults to "/service-worker.js"

      • Optionalscope: string
      • Optionaloptions: ServiceWorkerOptions

        Optional registration options. When onStateChange is provided it is invoked on every service worker state change and replaces the built-in Pinpoint auto-recording. It is also invoked once with the worker's current state at registration time, so an already-active worker (which dispatches no statechange event) is still observed. This initial emit applies only to onStateChange; the built-in Pinpoint path is unaffected.

      Returns Promise<unknown>

      • resolve(ServiceWorkerRegistration)
        • reject(Error)
    • Send a message to the service worker. The service worker needs to implement `self.addEventListener('message') to handle the message. This currently does not work in Safari or IE.

      Parameters

      Returns void