2016-12-12 4 views
5

Ich baue eine Befehlszeilenanwendung in node.js und möchte GCM Push-Benachrichtigungen (die Befehlszeile app mit dem gleichen Satz von Diensten wird die Interaktion erhalten, dass iOS/Android-Apps verwenden, wollte daher den gleichen Benachrichtigungsdienst verwenden).Erhalten GCM Push-Benachrichtigung in node.js App

Da GCM auf iOS verwendet werden (und ist somit nicht Android-spezifisch) Ich hoffe es auch von node.js verwendet werden kann.

Ich habe viele Artikel über Senden von Push-Benachrichtigungen von node.js gesehen, aber konnte nichts über die Verwendung von node.js auf der Empfängerseite zu finden.

+0

Sind Sie die Kontrolle über die "Quelle" Anwendungsserver? –

Antwort

1

Ich glaube nicht, es möglich (auf einfache Art und Weise) ...

Android/iOS ein O hinter mit einem Dienst hat, die mit GCM kommuniziert ...

Wenn Sie versuchen, Wenn Sie ein CLI-Tool ausführen, müssen Sie einen Dienst auf dem Betriebssystem (Linux, Windows Mac) implementieren, damit Benachrichtigungen empfangen werden können.

+0

Danke, @ Lucas Katayama. Gibt es wirklich einen integrierten GCM-Dienst, der auf allen iOS-Geräten vorhanden ist? Ich nahm an, da es nicht von Apple kam, dass es nur kommen muss, wenn eine App mit GCM SDK installiert ist. – skb

+0

Es ist wahrscheinlich so etwas wie ... Ich bin ein Android - Entwickler ... weiß nicht viel über IOS ... Aber vorausgesetzt, dass sie ähnlich sind ... Ich denke, IOS haben einen Dienst, der mit einem Server in einem kommuniziert So wie GCM ... –

1

GCM sendet die Benachrichtigungen an die Geräte-Tokens, die von iOS/Android-Geräte erzeugt werden, wenn sie mit Push-Benachrichtigung-Server registriert sind. Wenn Sie daran denken, die Benachrichtigungen ohne Geräte-Tokens zu erhalten, ist dies grundsätzlich falsch.

+0

Ich habe nicht gesagt, dass ich es ohne Geräte-Token machen wollte. :) Ich nahm an, dass das Teil des notwendigen Prozesses sein würde. – skb

9

ich denke, wenn Sie Push-Benachrichtigung zu senden, zu ios und andriod dann fcm ist besser als gcm Verwendung dieses

router.post('/pushmessage', function (req, res) { 
    var serverKey = '';//put server key here 
    var fcm = new FCM(serverKey); 
    var token = "";// put token here which user you have to send push notification 
    var message = { 
     to: token, 
     collapse_key: 'your_collapse_key', 
     notification: {title: 'hello', body: 'test'}, 
     data: {my_key: 'my value', contents: "abcv/"} 
    }; 
    fcm.send(message, function (err, response) { 
     if (err) { 
      res.json({status: 0, message: err}); 
     } else { 
      res.json({status: 1, message: response}); 
     } 
    }); 
}); 
0

Ich glaube, Sie können Service-Mitarbeiter mit.

Push basiert auf Service-Mitarbeitern, da Service-Mitarbeiter im Hintergrund arbeiten. Dies bedeutet, dass der einzige Zeitcode für eine Push-Benachrichtigung (mit anderen Worten, der einzige Zeitpunkt, zu dem der Akku verwendet wird) ist, wenn der Benutzer mit einer Benachrichtigung interagiert, indem er darauf klickt oder schließt. Wenn Sie nicht mit ihnen vertraut sind, sehen Sie sich die Einführung des Service-Mitarbeiters an. Wir werden den Service-Mitarbeiter-Code in späteren Abschnitten verwenden, wenn wir Ihnen zeigen, wie Pushs und Benachrichtigungen implementiert werden.

Also im Grunde gibt es einen Hintergrund-Service, der auf Push wartet und das ist, was Sie bauen werden.

Zwei Technologien

Push and Benachrichtigung verwenden unterschiedliche, aber sich ergänzende, APIs: Push aufgerufen wird, wenn ein Server liefert Informationen zu einem Servicemitarbeiter; Eine Benachrichtigung ist die Aktion eines Service-Mitarbeiters oder eines Webseiten-Skripts, die einem Benutzer Informationen anzeigt.

self.addEventListener('push', function(event) { 
    const promiseChain = getData(event.data) 
    .then(data => { 
    return self.registration.getNotifications({tag: data.tag}); 
    }) 
    .then(notifications => { 
    //Do something with the notifications. 
    }); 
    event.waitUntil(promiseChain); 
}); 

https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/handling-messages

Verwandte Themen