Show Menu
Cheatography

Push-Nachrichten Cheatsheet Cheat Sheet (DRAFT) by

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Grundlagen

Was sind Push-N­ach­ric­hten?
Nachri­chten können über einen Server an Endgeräte versandt werden. Der Server übernimmt die Übertr­agung.
Welcher Web-Server wird verwendet?
Es gibt einen Web Server welcher für Chrome entwickelt wurde.

User entfernen

function unsubscribeUser() {
  swRegistration.pushManager.getSubscription()
  .then(function(subscription) {
    if (subscription) {
      return subscription.unsubscribe();
    }
  })
  .catch(function(error) {
    console.log('Error unsubscribing', error);
  })
  .then(function() {
    updateSubscriptionOnServer(null);

    console.log('User is unsubscribed.');
    isSubscribed = false;

    updateBtn();
  });
}

Push-N­ach­richten müssen erlaubt werden

Somit kann der Server nicht ohne Erlaubnis senden und Spam wird verhin­dert.

Endpoint String

Mit diesem String kann man Push-N­ach­richten an den Server senden
 

Service Workers

Die Service Workers müssen immer neu geladen werden.

Die Benutz­ero­ber­fäche erstellen

function initializeUI() {
  pushButton.addEventListener('click', function() {
  pushButton.disabled = true;
  if (isSubscribed) {
    unsubscribeUser();
  } else {
    subscribeUser();
  }
});

  // Set the initial subscription value
  swRegistration.pushManager.getSubscription()
  .then(function(subscription) {
    isSubscribed = !(subscription === null);

    updateSubscriptionOnServer(subscription);

    if (isSubscribed) {
      console.log('User IS subscribed.');
    } else {
      console.log('User is NOT subscribed.');
    }

    updateBtn();
  });
}

Keys

https:­//w­eb-­pus­h-c­ode­lab.gl­itc­h.me//
Auf dieser Website kann man die Keys generieren und Push-N­ach­richten senden.
 

Einen User hinzufügen

function subscribeUser() {
  const applicationServerKey = urlB64ToUint8Array(applicationServerPublicKey);
  swRegistration.pushManager.subscribe({
    userVisibleOnly: true,
    applicationServerKey: applicationServerKey
  })
  .then(function(subscription) {
    console.log('User is subscribed.');

    updateSubscriptionOnServer(subscription);

    isSubscribed = true;

    updateBtn();
  })
  .catch(function(err) {
    console.log('Failed to subscribe the user: ', err);
    updateBtn();
  });
}

Web Server für Chrome