使用node-gcm向安卓设备发送有效载荷通知

4
我正在使用node-gcm通过GG GCM向Android设备发送通知。问题是,当我发送2个或更多消息时,它们会互相重叠(旧消息消失,新消息替换它)。当我断开设备与互联网的连接,然后发送2条消息时,我再次连接到互联网时只有一条通知,其中包含我最后发送的消息。这是发送消息的代码,我已按照GG在其指南中所说删除了collapse_key:
```javascript var message = new gcm.Message({ data: { key1: 'msg1' } });
sender.send(message, registrationIds, 4, function (err, result) { console.log(result); }); ```
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);
    });
})
}

请帮我解决这个问题。非常感谢!

1个回答

4
你的服务器代码与问题无关。 你的客户端代码可能使用一个固定的标识符来显示通知。这会导致每个新的通知覆盖之前的通知。
你需要更改notify方法的调用方式如下:
notificationManager.notify (CONSTANT_NOTIFICATION_ID, notification);

致:

notificationManager.notify (unique_identifier, notification);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接