Invia notifiche desktop in Chrome o Firefox da un’app Web chiusa?

Il mio objective è inviare notifiche desktop in stile Gmail in Chrome o Firefox da un’app Web (chiamiamola X) che NON è attualmente aperta nel browser, senza richiedere all’utente di installare un’app o un’estensione. Va bene se l’utente deve concedere l’authorization per ricevere notifiche da X, ed è ok se il browser deve essere aperto affinché la notifica venga visualizzata, purché X non debba essere aperto nel browser. Funzionerebbe anche una soluzione che non richiede l’apertura di alcuna finestra del browser.

Ho appena passato la giornata a scavare in questo, e finora penso di aver imparato:

  • Poiché OSX Mavericks, è stato ansible farlo in Safari 7+ tramite Safari Push Notifications .
  • L’ API delle notifiche web funziona in Chrome / Firefox, ma richiede che il browser dell’utente sia aperto a X.
  • Twitter invia notifiche web simili senza chiedere prima l’authorization all’utente, ma richiede che il browser dell’utente sia aperto a Twitter.
  • Ci sono molti riferimenti a possibili implementazioni di Growl , ma per quanto posso dire, tutti richiedono all’utente di installare Growl e / o un’app compatibile con Growl per funzionare.

Potrei sbagliarmi su una qualsiasi delle mie affermazioni di cui sopra – mi piacerebbe sentirlo! – e sono aperto a qualsiasi altra soluzione. Qualche idea?

Grazie per aver letto.

È ansible inviare notifiche push anche quando la pagina Web non è triggers utilizzando i Service Worker , l’ API di notifica per i service worker e l’ API push per le notifiche avviate dal server (o le notifiche programmate ).

A partire da giugno 2016, i lavoratori del servizio sono supportati in Chrome, Firefox e Opera. Vedi lo stato su https://jakearchibald.github.io/isserviceworkerready/

Vedi i seguenti link per discussioni relative, stato di implementazione e specifiche.

  • Gli addetti all’assistenza sono abilitati di default da Chrome 40 , Firefox 33 e Opera 24. Vedi il tutorial HTML5Rocks e MDN .
  • Notifiche push: Chrome 42+ , Firefox 44+

Puoi fare esattamente quello che stai cercando usando l’ API Push W3C.

Se vuoi build tutto da zero ti suggerisco di iniziare a leggere questo tutorial di Google . È per Chrome, ma Firefox funziona in modo molto simile .

Comunque è un sacco di lavoro e lo “standard” è ancora in evoluzione: ti suggerisco di utilizzare un servizio come Pushpad (io sono il fondatore).

Ci hai chiesto questo a Growl anche al nostro indirizzo di supporto. Risponderò con quanto so come. Tuttavia ciò che si desidera è essenzialmente le notifiche push del desktop. Anche su iOS è necessario aver installato un’applicazione per poter ricevere notifiche push per quella applicazione.

La linea di fondo è che quello che stai volendo sembra essere praticamente una caccia all’oca selvaggia. Non vuoi app e nessuna scheda del browser, ma vuoi essere in grado di invadere lo spazio personale dell’utente in modo casuale. Questo non sembra giusto. Almeno con Growl la persona che usa il computer può spegnerti se trova fastidiose le tue notifiche. Lo stesso è vero con Notification Center (NC) in più installazioni attuali di OS X.

Firefox ha le proprie notifiche ora. Non so come funzionano da quando ho smesso di usare Firefox su OS X quando l’hanno fatto. Chrome ha anche le notifiche. Ma per quanto ne so, hai bisogno che la scheda sia aperta, quindi immagino che sia quello che ha fatto anche FF.

Essenzialmente parlando come utente, penso davvero che questa sia un’esperienza orribile. Hai un’app Web, dovrebbe essere un’app Web. Non è un’app desktop. Non sto dicendo che sia una cosa buona o ctriggers per un’app Web essere un’app Web, ma in sostanza si sta cercando di spingere verso il basso un utente senza un permesso implicito che non mi sembra esattamente corretto.

Non conosco alcun modo per inviare una notifica con almeno un qualche tipo di applicazione in esecuzione per farlo. Be it Growl o il demone NC o qualsiasi altra cosa. In sostanza, non penso che ciò che vuoi fare sia ansible. Sarei felice di sbagliarmi, naturalmente, ma non penso di essere qui. Mi dispiace per quello

Detto questo, potresti avere una piccola applicazione con il supporto di Growl tramite il framework attuale. Se l’utente finale non ha installato Growl, sceglierà di utilizzare NC per visualizzare. Se si tratta di un sistema operativo precedente, utilizzerà Nebbia, che hai citato nell’e-mail al nostro team di supporto.

Spero che questo aiuti, o almeno ti ottenga ciò di cui hai bisogno per andare avanti. 🙂