Envoyer des notifications de bureau dans Chrome ou Firefox à partir d'une application web fermée?
mon objectif est d'envoyer notifications de bureau de style Gmail dans Chrome ou Firefox à partir d'une application web (appelons-le X) qui n'est pas actuellement ouverte dans le navigateur, sans exiger de l'utilisateur d'installer une application ou une extension. C'est pas grave si l'utilisateur a besoin pour accorder l'autorisation de recevoir des notifications de X, et c'est très bien si le navigateur doit être ouvert pour que les notifications apparaissent, tant que X n'a pas besoin d'être ouvert dans le navigateur. Une solution qui ne nécessite pas de fenêtre de navigateur ouverte serait aussi travailler.
je viens de passer la journée à creuser dans ce, et jusqu'à présent je penser j'ai appris:
- depuis OSX Mavericks, il a été possible de le faire en Safari 7+ via Safari Push Notifications .
- l'API Notifications Web fonctionne dans Chrome / Firefox, mais nécessite que le navigateur de l'utilisateur soit ouvert à X.
- Twitter envoie des notifications web similaires sans demander d'abord la permission à l'utilisateur, mais nécessite le navigateur de l'utilisateur pour être ouvert à Twitter.
- il y a beaucoup de références aux implémentations possibles de grognement , mais pour autant que je puisse dire, toutes ces implémentations nécessitent que l'utilisateur installe grognement et/ou une application compatible grognement pour fonctionner.
j'ai peut-être tort de mes déclarations ci - dessus-j'aimerais l'entendre! - et je suis ouvert à toute autre solution. Des idées?
Merci d'avoir lu.
3 réponses
vous pouvez envoyer des notifications push même si votre page web n'est pas active en utilisant Service Workers , Notification API for service workers et push API pour les notifications initialisées par le serveur (ou scheduled notifications ).
depuis juin 2016, les travailleurs des Services sont pris en charge dans Chrome, Firefox et Opera. Voir le statut à https://jakearchibald.github.io/isserviceworkerready /
voir les liens suivants pour les discussions connexes, l'état de la mise en œuvre et les spécifications.
- les travailleurs de Service sont activés par défaut depuis Chrome 40 , Firefox 33 , et Opera 24. Voir le tutoriel html5rocks et MDN .
- Push notifications: Chrome 42+ , Firefox 44+
vous pouvez faire exactement ce que vous recherchez en utilisant le W3C Push API .
si vous voulez tout construire à partir de zéro, je vous suggère de commencer à lire ce tutoriel de Google . Il est pour le Chrome, mais Firefox fonctionne dans d'une manière très similaire .
cependant c'est beaucoup de travail et la "norme" est encore en évolution: je suggère que vous utilisez un service comme Pushpad (je suis le fondateur).
vous nous l'avez demandé à Groll à notre adresse de soutien. Je vais répondre avec autant que je sache comment. Toutefois, ce que vous voulez est essentiellement des notifications push de bureau. Même sur iOS vous devez avoir une application installée afin d'avoir des notifications push pour cette application.
le fait est que ce que vous voulez semble être à peu près une chasse à l'oie sauvage. Vous ne voulez pas d'application et pas d'onglet de navigateur, mais vous voulez être en mesure d'envahir le espace personnel aléatoire. Cela ne semble pas approprié. Au moins avec grognement la personne qui utilise l'ordinateur peut vous éteindre s'ils trouvent vos notifications ennuyeux. Il en va de même pour le centre de Notification (NC) dans les installations OS X plus courantes.
Firefox a ses propres notifications maintenant. Je ne sais pas comment ils fonctionnent depuis que J'ai arrêté D'utiliser Firefox sur OS X quand ils ont fait ça. Chrome a aussi des notifications. Mais pour autant que je sache, vous avez besoin de l'onglet ouvert là-bas, donc je suis devinant que ce FF.
Essentiellement parlant, en tant qu'utilisateur, je pense vraiment que c'est une expérience terrible. Vous avez une application web, il devrait être d'une application web. Ce n'est pas une application de bureau. Je ne dis pas que c'est bon ou mauvais pour une application web d'être une application web, mais essentiellement vous voulez pousser vers le bas sur un utilisateur sans permission implicite qui ne semble tout simplement pas tout à fait juste pour moi.
Je ne sais pas comment envoyer une notification avec au moins une sorte de l'application en cours d'exécution pour le faire. Que ce soit grognement ou le démon NC ou quoi que ce soit d'autre. Essentiellement, Je ne pense pas que ce que vous voulez faire soit possible. Je serais heureux de me tromper, bien sûr, mais je ne pense pas être ici. Désolé à ce sujet.
qui dit que vous pourriez avoir une petite application avec le soutien de Growl dans le cadre actuel. Si L'utilisateur final n'a pas Growl installé, il optera pour utiliser NC pour afficher. Si C'est un vieux OS, il utilisera Mist, que vous avez mentionné dans le e-mail à notre équipe d'assistance.
j'espère que cela vous aidera, ou au moins vous donnera ce dont vous avez besoin pour continuer à aller de l'avant. :)