Node.js
Powiadomienia push
Szukaj…
Wprowadzenie
Więc jeśli chcesz powiadomić aplikację internetową, sugeruję skorzystanie z Push.js lub frameworka SoneSignal dla aplikacji internetowej / mobilnej.
Push to najszybszy sposób na rozpoczęcie pracy z powiadomieniami JavaScript. Dość nowy dodatek do oficjalnej specyfikacji, interfejs API Notification pozwala nowoczesnym przeglądarkom, takim jak Chrome, Safari, Firefox i IE 9+, na wysyłanie powiadomień na pulpit użytkownika.
Będziesz musiał użyć Socket.io i niektórych frameworków backendowych, w tym przykładzie użyję Express.
Parametry
moduł / framework | opis |
---|---|
node.js / express | Prosta struktura backe-end dla aplikacji Node.js, bardzo łatwa w użyciu i niezwykle wydajna |
Socket.io | Socket.IO umożliwia dwukierunkową komunikację w czasie rzeczywistym opartą na zdarzeniach. Działa na każdej platformie, przeglądarce lub urządzeniu, koncentrując się jednakowo na niezawodności i szybkości. |
Push.js | Najbardziej wszechstronna na świecie platforma powiadomień na pulpicie |
OneSignal | Kolejny formularz poza powiadomieniami push dla urządzeń Apple |
Firebase | Firebase to platforma mobilna Google, która pomaga szybko opracowywać wysokiej jakości aplikacje i rozwijać firmę. |
Powiadomienie internetowe
Najpierw musisz zainstalować moduł Push.js.
$ npm install push.js --save
Lub zaimportuj go do aplikacji front-end za pośrednictwem CDN
<script src="./push.min.js"></script> <!-- CDN link -->
Po tym wszystkim powinieneś już iść. Tak powinno to wyglądać, jeśli chcesz dokonać prostego powiadomienia:
Push.create('Hello World!')
Zakładam, że wiesz, jak skonfigurować Socket.io w swojej aplikacji. Oto przykładowy kod mojej aplikacji backendowej z express:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80);
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
socket.emit('pushNotification', { success: true, msg: 'hello' });
});
Po skonfigurowaniu serwera powinieneś być w stanie przejść do frontonu. Teraz wystarczy zaimportować CDN Socket.io i dodać ten kod do mojego pliku index.html :
<script src="../socket.io.js"></script> <!-- CDN link -->
<script>
var socket = io.connect('http://localhost');
socket.on('pushNotification', function (data) {
console.log(data);
Push.create("Hello world!", {
body: data.msg, //this should print "hello"
icon: '/icon.png',
timeout: 4000,
onClick: function () {
window.focus();
this.close();
}
});
});
</script>
Proszę bardzo, teraz powinieneś być w stanie wyświetlić powiadomienie, działa to również na dowolnym urządzeniu z Androidem, a jeśli chcesz korzystać z wiadomości Firebase w chmurze, możesz użyć go z tym modułem, oto link do tego przykładu napisanego przez Nicka (twórca of Push.js)
jabłko
Pamiętaj, że to nie zadziała na urządzeniach Apple (nie przetestowałem ich wszystkich), ale jeśli chcesz, aby powiadomienia wypychane sprawdzały wtyczkę OneSignal .