Serverside代码:
var message = new gcm.Message({
collapseKey: "demo",
delayWhileIdle: true,
timeToLive: 3,
data: {
test: 'value'
}
});
var sender = new gcm.Sender(config.gcmKey);
var tokens = [];
... (to add tokens) ...
sender.send(message, tokens, 3, function (err, res) { ... }
客户代码(在工作的服务人员中):
self.addEventListener('push', function(event) {
console.log('Push message', event);
var title = 'Push message';
event.waitUntil(
self.registration.showNotification(title, {
body: 'Test',
icon: 'img/icon.png',
}));
});
(所有内容都是从自述文件,教程和演示中复制而来)
当我发送通知服务器端时,它会按预期显示在我的屏幕上,没有任何错误。但是,console.log('Push message', event);
会使用data: null
输出事件对象。如何从服务器获取test: 'value'
键值对?这是最新的node-gcm和Chrome 52。
答案 0 :(得分:0)
网络推送通知的有效负载与Android的工作方式相同。它需要加密并以不同的方式发送。
您可以将web-push library用于Node.js.它支持较旧的Chrome版本的GCM,适用于Firefox的Web Push和较新的Chrome版本。