Notification Push Cogis
Bienvenue sur la page de notification push de Cogis.
Veuillez activer les notifications push.
if ('serviceWorker' in navigator && 'PushManager' in window) {
navigator.serviceWorker.register('/sw.js')
.then(function(registration) {
console.log('Service Worker enregistré avec succès.');
return Notification.requestPermission();
})
.then(function(permission) {
if (permission === 'granted') {
console.log('Permission de notification accordée');
subscribeUser();
} else {
console.log('Permission de notification refusée');
}
});
}
function subscribeUser() {
navigator.serviceWorker.ready.then(function(registration) {
const vapidPublicKey = '';
const convertedKey = urlBase64ToUint8Array(vapidPublicKey);
registration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: convertedKey
})
.then(function(subscription) {
console.log('Utilisateur abonné:', subscription);
// Envoyer l'objet d'abonnement au serveur
fetch('/save-subscription.php', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(subscription)
});
});
});
}
function urlBase64ToUint8Array(base64String) {
const padding = '='.repeat((4 - base64String.length % 4) % 4);
const base64 = (base64String + padding).replace(/\-/g, '+').replace(/_/g, '/');
const rawData = window.atob(base64);
return Uint8Array.from([...rawData].map(c => c.charCodeAt(0)));
}