This is a draft cheat sheet. It is a work in progress and is not finished yet.
Grundlagen
Was sind Push-Nachrichten? Nachrichten können über einen Server an Endgeräte versandt werden. Der Server übernimmt die Übertragung.
|
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-Nachrichten müssen erlaubt werden
Somit kann der Server nicht ohne Erlaubnis senden und Spam wird verhindert.
Endpoint String
Mit diesem String kann man Push-Nachrichten an den Server senden
|
|
Service Workers
Die Service Workers müssen immer neu geladen werden.
Die Benutzeroberfä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();
});
}
|
|
|
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();
});
}
|
|