我在GCM-Cordova使用 GCM 的 cordova 插件。在服务器端,我使用的是ToothlessGear 的节点模块。
我想我不会使用“可折叠”密钥,因为我需要将有效负载发送到客户端。我面临的问题是消息在大约 30 秒的间隔后不断到达。为什么谷歌服务器没有意识到已经收到消息?我是否必须明确地做一些事情来停止重复通知?
触发 push 的 node-gcm 代码:
gcm = require('node-gcm');
message = new gcm.Message();
sender = new gcm.Sender(app.settings.gcm.server_key);
registrationId = [];
registrationId.push(regid);
message.addData('title', 'Payment Request');
message.addData('message', JSON.stringify(someObj));
message.delayWhileIdle = true;
message.timeToLive = 3;
sender.send(message, registrationId, 1, function(result) {
return console.log(result);
});