Node.js
Pushnotifikationer
Sök…
Introduktion
Så om du vill meddela webbappavisering föreslår jag att du använder Push.js eller SoneSignal ramverk för webb / mobilapp.
Push är det snabbaste sättet att komma igång med Javascript-aviseringar. Ett ganska nytt tillägg till den officiella specifikationen, Meddelanden API tillåter moderna webbläsare som Chrome, Safari, Firefox och IE 9+ att driva aviseringar till en användares skrivbord.
Du måste använda Socket.io och lite backend-ramverk, jag kommer att använda Express för detta exempel.
parametrar
modul / ram | beskrivning |
---|---|
node.js / uttrycka | Enkelt backe-end-ramverk för Node.js-applikation, mycket lätt att använda och extremt kraftfullt |
Socket.io | Socket.IO möjliggör i realtid dubbelriktad händelsebaserad kommunikation. Det fungerar på alla plattformar, webbläsare eller enheter, med samma fokus på tillförlitlighet och hastighet. |
Push.js | Världens mest mångsidiga ramaviseringar för stationära datorer |
OneSignal | Bara en annan form av push-aviseringar för Apple-enheter |
Firebase | Firebase är Googles mobilplattform som hjälper dig att snabbt utveckla appar av hög kvalitet och växa ditt företag. |
Webnotifiering
Först måste du installera Push.js- modulen.
$ npm install push.js --save
Eller importera den till din front-app via CDN
<script src="./push.min.js"></script> <!-- CDN link -->
När du är klar med det borde du vara bra att gå. Så här ska det se ut om du vill göra en enkel avisering:
Push.create('Hello World!')
Jag antar att du vet hur du konfigurerar Socket.io med din app. Här är något kodexempel på min backend-app med 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' });
});
När din server är klar, bör du kunna gå vidare till front-end saker. Nu behöver vi bara importera Socket.io CDN och lägga till den här koden till min index.html- fil:
<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>
Där går du, nu borde du kunna visa ditt meddelande, detta fungerar också på alla Android-enheter, och om du vill använda Firebase molnmeddelanden kan du använda den med den här modulen. Här är en länk till det exemplet skriven av Nick (skapare) av Push.js)
Äpple
Kom ihåg att detta inte fungerar på Apple-enheter (jag testade inte dem alla), men om du vill göra push-meddelanden, kontrollera OneSignal- plugin.