Web / Browser Push

Requirements

Support for web push notifications requires:

  • Your website to be SSL-enabled (https://)

  • One publicly-accessible file to be placed on your site

  • A snippet of Integration HTML to be added to each page on your site.

    • This can also be done with a tag manager.

Steps

If your site uses Wordpress you can skip these steps and follow the Wordpress Plugin steps for an easier implementation.

Step 1: Place the Service Worker File

Download the Service Worker from our CDN (https://cdn.p-n.io/pushly-sdk-worker.js) and place it in a publicly accessible location on the same domain that serves your site. For example: https://www.example.com/assets/pushly/pushly-sdk-worker.js

This file must be served from the same origin the potential subscriber is on when they visit your site. It cannot be served from a separate domain or subdomain. For example, if your visitor is on www.example.com the service worker must be located on www.example.com. It cannot be served from assets.example.com or examplecdn.com.

Also note that it cannot be served from behind a 301/redirect.

Step 2: Add the Integration HTML

If you placed the Service Worker in a subdirectory on your domain follow the steps in the Service Worker Placed in Subdirectory tab otherwise select the Service Worker Placed in Public Root tab below.

Add the following HTML snippet to the head section of your site and replace both instances of SDK_KEY with the value provided by your account manager.

Also, replace the /absolute/path/to/pushly-sdk-worker.js text in the snippet with the full path to the Service Worker.

<script src="https://cdn.p-n.io/pushly-sdk.min.js?domain_key=SDK_KEY" async></script>
<script>
  window.PushlySDK = window.PushlySDK || [];
  function pushly() { window.PushlySDK.push(arguments) }
  pushly('load', {
    domainKey: 'SDK_KEY',
    sw: '/absolute/path/to/pushly-sdk-worker.js',
  });
</script>

The sw property should not include the origin/domain. It should be a path only; I.e., do not include https:///www.example.com in this value.

Last updated