2016-07-24 18 views
0

Serverside集團代碼:瀏覽器:谷歌雲通訊/節點-GCM - 數據始終是空

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):

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', 
     })); 
}); 

(一切都是從自述文件複製,教程和演示)

當我發送通知serverside時,它按預期方式顯示在我的屏幕上,沒有錯誤。但是,console.log('Push message', event);輸出的事件對象爲data: null。如何從服務器獲取test: 'value'鍵值對?這是最新的node-gcm和Chrome 52。

回答

0

Web推送通知的有效負載與Android的工作方式不同。它需要加密並以不同的方式發送。

對於Node.js,您可以使用web-push library。它支持舊版Chrome版本的GCM,Firefox推出的Web Push和更新的Chrome版本。