PushSubscription.getKey()

Experimental

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getKey() method of the PushSubscription interface returns an ArrayBuffer representing a client public key, which can then be sent to a server and used in encrypting push message data.

Syntax

var key = subscription.getKey(name);

Parameters

name
A DOMString representing the encryption method used to generate a client key.  The value can be:

Returns

Example

reg.pushManager.getSubscription()
  .then(function(subscription) {
  // Enable any UI which subscribes / unsubscribes from
  // push messages.

  subBtn.disabled = false;

  if (!subscription) {
    console.log('Not yet subscribed to Push')
    // We aren't subscribed to push, so set UI
    // to allow the user to enable push
    return;
  }

  // Set your UI to show they have subscribed for
  // push messages
  subBtn.textContent = 'Unsubscribe from Push Messaging';
  isPushEnabled = true;

  // initialize status, which includes setting UI elements for subscribed status
  // and updating Subscribers list via push
  var endpoint = subscription.endpoint;
  var key = subscription.getKey('p256dh');
  var auth = subscription.getKey('auth');

    ...

Specifications

Specification Status Comment
Push API Working Draft This is the Push API spec, but note that getKey() is not currently specified in here. It is currently Firefox-only experimental.

Browser compatibility

BCD tables only load in the browser