Push notifications for Chrome and Firefox

Integrate a website with the platform, to enable the SDK, push notifications and message inbox

To send push notifications to Chrome and Firefox you need to enable the options and deploy one or more files to your website.


HTTPS required

Chrome notifications require HTTPS websites. Chrome notifications will not work with self-signed certificates. You must have an SSL certificate signed by a trusted Authority.

If your site is HTTP it is still possible to send web push notifications to your users on Chrome mobile and desktop with Xtremepush. The notifications must be sent from an HTTPS property, which can be auto-created in the Xtremepush platform.


Update February 2021

New web applications created since March 2020 no longer require Firebase credentials for web push notifications to Google Chrome as it has migrated to using the VAPID protocol. Since February 2021 the Firebase credentials fields are not shown for new web applications.

Older web applications which previously used Firebase Cloud Messaging will still show the credentials fields. These should not be removed as they are still used to send messages to older subscribers. Subscribers are transparently upgraded when they revisit the integrated website, and Xtremepush will automatically handle the transition away from Firebase Cloud Messaging.

Legacy instructions for adding Firebase credentials are kept in a historical guide.

Follow these steps to enable push notifications:

Configure settings in Xtremepush

  1. In Xtremepush, go to Settings > Channels > Push Settings and select the matching Website.
  2. Enable the browsers you wish to enable, i.e. Chrome and Firefox.
  3. Choose the appropriate deployment option:
    • Self-hosted domain (recommended) – Your website domain supports HTTPS and you can host the files on your HTTPS site.
      • Choose under Use Subscribe Window if a popup is used to prompt the end-user to accept notifications. Select HTTP only to only use this on your site's HTTP pages. Read more in the Guide to Chrome HTTP sites.
    • Xtremepush hosted domain – Your website does not support HTTPS or you are unable to host the Service-Worker file.
      • Add a name for Xtremepush Hosted Domain which will be used to host these files on an HTTPS site.
  4. Click Save.


Do not change settings between self-hosted and Xtremepush hosted for an existing integration. Doing so will cause your existing subscribers to become unreachable.

Add to website

If you've chosen the recommended Self-hosted domain deployment option, you must host specific files on your website and configure Xtremepush with these file locations. These are shown as code snippets when required.

For each file, copy and paste the required code snippets to files on your website. Then add the full URL to the file on your website in the adjacent URL field and click Save.

The files listed may differ depending upon your configuration options:

File name



The service worker is the main file required for push notifications in Chrome and Firefox, which allows it to work even when the browser is inactive.


Only required when you use a subscribe window.


To show information about your customers' subscription status in a different window.


To include your Firebase credentials. Not required for apps added after February 2021.


How the SDK works

In order to support Chrome and Firefox webpush notifications our SDK registers the service worker.

Our service worker implements following callbacks:

  • install
  • activate
  • push
  • notificationclick
  • notificationclose

It doesn't implement anything that could affect application usage, such as providing additional network cache.

Our SDK also adds a reference to manifest.json to the head of the page if required for legacy push notification configurations.

Updated about a month ago

Push notifications for Chrome and Firefox

Integrate a website with the platform, to enable the SDK, push notifications and message inbox

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.