2016-12-13 107 views
0

家伙,我想用NPM-GCM 发送到Android设备的通知,并在这里是我的代码:NPM-GCM不发送通知到设备

var sender = new gcm.Sender('myAPIkey'); 

var message = new gcm.Message(); 

message.addNotification('title', 'Backend!!!'); 
message.addNotification('body', 'Bitch'); 
var regTokens = ['deviceToken1']; 
console.log(message) 
regTokens.push('deviceToken2') 

sender.send(message, { registrationTokens: regTokens }, function (err, response) { 
    if (err) console.error(err); 
     else console.log(response); 
}); 

并在控制台中我得到:

{ multicast_id: 7664202372197545000, 
    success: 2, 
    failure: 0, 
    canonical_ids: 0, 
    results: 
    [ { message_id: '0:1481660978053751%cc7dad02f9fd7ecd' }, 
    { message_id: '0:1481660978045814%cc7dad02f9fd7ecd' } ] 
} 

但设备没有收到任何通知。问题是什么? 这是怎么回事?你能给我一个建议吗?!

回答

0

基于此SO post,node-gcm代码上的“通知”对象可能存在问题。尝试使用message.addData并检查它是否有效。确保你遵循了这个tutorial和这个thread,它给出了如何发送简单消息到你的设备的示例代码。

var sender = new gcm.Sender(googleApiKey); 
var message = new gcm.Message(); 
message.addData('key1','testdarinodegcm'); 
message.delay_while_idle = 1; 
var registrationIds = []; 
registrationIds.push('APA91bHCzBP6wEfExCZlSXgf0wuOC6QEWJ-7MVFl3hgaW3Jv8FslsofGJ-  qgdliyS8zjwy_W7zPaKsEZx6kbeuWdoAAexawKl1Qd6GEGV_v844n1LMRaTsWeiwI9iaLGKKq_R3scY_wuRG8uG2SZ5X9q0J67Ko3gcw'); 
sender.send(message, registrationIds, 4, function (err, result) { 
console.log(result); 
}); 

希望这有助于!

相关问题