我正在使用node-gcm通过GG GCM向Android设备发送通知。问题是,当我发送2条或更多消息时,它们彼此重叠(旧消息消失,新消息替换它)。当我从互联网断开我的设备,然后发送2条消息,我连接到互联网,只有一个通知与我发送的最后一条消息。这是发送消息的代码,我已经删除了在GG在他们的指南中说的collapse_key:
function sendNoti(content){
// with object values
var message = new gcm.Message({
//collapseKey: 'cms',
//delayWhileIdle: true,
//timeToLive: 10,
data: {
news: content
}
});
var sender = new gcm.Sender('MY KEY');
var registrationIds = [];
db.noti.find({}, function (err, getted) {
getted.forEach(function (each) {
registrationIds.push(each.regId);
});
/**
* Params: message-literal, registrationIds-array, No. of retries, callback-function
**/
sender.send(message, registrationIds, 10, function (err, result) {
console.log(result);
});
})
}
请帮我解决这个问题。非常感谢你!
答案 0 :(得分:4)
您的服务器代码与您的问题无关。 您的客户端代码可能显示带有常量标识符的通知。这会导致每个新通知都覆盖前一个通知。
您必须从以下位置更改通知方法调用:
notificationManager.notify (CONSTANT_NOTIFICATION_ID, notification);
到:
notificationManager.notify (unique_identifier, notification);