A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.npmjs.com/package/webpush-client below:

webpush-client - npm

Handles subscription / unsubscription of Webpush notifications in sync with a remote server.

The library ships with both a client and a service worker.

<script src="/js/webpush-client.js"></script>
<script>

    var WebPushClient;
    if (WebPushClientFactory.isSupported()) {
        WebPushClientFactory.create({
            serviceWorkerPath: '/js/webpush-sw.js', // Public path to the service worker
            serverKey: 'my_server_key', // https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol#application_server_keys
            subscribeUrl: '/webpush', // Optionnal - your application URL to store webpush subscriptions
            headers // Optional : An object or Headers object that will be passed to fetch
        })
            .then(Client => {
                WebPushClient = Client;
            })
        ;
    }
</script>
import Webpush from 'webpush-client'

Webpush.create({
    serviceWorkerPath: '/js/webpush-sw.js', // Public path to the service worker
    serverKey: 'my_server_key', // https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol#application_server_keys
    subscribeUrl: '/webpush', // Optionnal - your application URL to store webpush subscriptions
    headers // Optional : An object or Headers object that will be passed to fetch
})
    .then(WebPushClient => {
        // do stuff with WebPushClient
    })
;

Return whether or not the browser AND the server both support Push notifications.

Return if Push notifications are allowed for your domain. Possible values: prompt, granted, denied

Will return null if not subscribed or a PushSubscription object.

Subscribe browser to Push Notifications. The browser will ask for permission if needed. Return a Promise which resolves to the PushSubscription object (or will be rejected in case of access denied)

Subscribe browser to Push Notifications. The browser will ask for permission if needed. Return a Promise which resolves to the PushSubscription object (or will be rejected in case of access denied)

When the subscribeUrl option is provided, WebPushClient.subscribe([options]) will POST a JSON containing both the PushSubscription and the options objects:

{
  "subscription": {
    "endpoint": "http://endpoint",
    "keys": {
      "p256dh": "public key",
      "auth": "private key"
    }
  },
  "options": {}
}

The request will include current credentials allowing you to associate the current user logged in to the PushSubscription object and an optionnal, arbitrary options object of your own.

WebPushClient.unsubscribe([options]) will issue a DELETE request on subscribeUrl with the same body.

It's now up to you to handle these infos properly on the server side. Have a look at the RemoteStorage class to check out how these requests are generated.

If your application runs on Symfony, you can have a look at bentools/webpush-bundle for which this JS was originally designed for.

Build dist files using npx encore production --progress


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4