Ho un'applicazione web. Voglio utilizzare l'API delle notifiche integrate HTML 5 per inviare notifiche dal server quando l'utente si trova su una determinata pagina. È possibile?Come posso inviare notifiche push in un'applicazione Web HTML5?
risposta
È possibile effettuare notifiche push reali con le app Web oggi in Chrome utilizzando Service Workers e PushManager da W3C Push API.
Vedere l'articolo Push Notifications on the Open Web per istruzioni passo-passo e snippet di codice che è possibile utilizzare. Ecco un diagramma di quell'articolo che spiega come appare l'interfaccia utente.
Un implementation of the Push API has already landed in Firefox troppo; è destinato alla spedizione a novembre 2015 in Firefox 42. E Microsoft ha anche indicated that the Push API is also under consideration for implementation in Edge team.
Di seguito è riportato un esempio di codice semplice, preso in prestito da MDN.
this.onpush = function(event) {
console.log(event.data);
}
navigator.serviceWorker.register('serviceworker.js').then(
function(serviceWorkerRegistration) {
serviceWorkerRegistration.pushManager.subscribe().then(
function(pushSubscription) {
console.log(pushSubscription.subscriptionId);
console.log(pushSubscription.endpoint);
}, function(error) {
console.log(error);
}
);
});
Dipende da quello che vuoi realizzare:
- se si desidera inviare una spinta notifiche all'utente mentre sta navigando il vostro sito web è possibile utilizzare WebSockets e (facoltativamente) l'API Notifiche per dare alla notifica uno stile "nativo"
- se si desidera ricevere notifiche push off-site (che vengono recapitate anche quando l'utente non è sul proprio sito Web), utilizzare una combinazione dell'API Push (per attivare l'evento offline) e l'API di notifica per visualizzare la notifica (tu può read more here o utilizzare un servizio come Pushpad)
Il Pushpad non è gratuito. la condivisione della conoscenza dovrebbe essere gratuita, nessuno la condivide gratuitamente tutti i riferimenti alle notifiche push che chiedono denaro. – YumYumYum
@YumYumYum La domanda è troppo ampia per dare una risposta completa qui: se vuoi iniziare da zero ti suggerisco di leggere [questa risposta] (http://stackoverflow.com/a/34920874/51387) (che Ho già fatto riferimento nella mia risposta sopra). Contiene una panoramica dell'API Push e un link a [il tutorial] (https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web) che mi ha aiutato iniziare (nonostante l'avviso nella pagina, l'articolo è ancora utile oggi). – collimarco
Il lato client è facile. E il lato server? Non è questa la carne della domanda? – Pacerier
L'approccio di Google Cloud Messaging (Firebase) è considerato solo per Chrome o funziona anche per Firefox? – Vetterjack