首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器: Google Cloud Messaging/node-gcm - data始终为空

浏览器: Google Cloud Messaging/node-gcm - data始终为空
EN

Stack Overflow用户
提问于 2016-07-25 02:27:39
回答 1查看 248关注 0票数 0

服务器端代码:

代码语言:javascript
复制
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) { ... }

客户端代码(在工作的serviceworker中):

代码语言:javascript
复制
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'键值对?这是最新的节点-gcm和Chrome52。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-25 04:43:25

web推送通知的有效负载与Android的工作方式不同。它需要加密并以不同的方式发送。

您可以使用Node.js的web-push library。它支持老版本Chrome的GCM,Firefox和新版本Chrome的Web推送。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38555355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档