我的项目有些问题,希望你能帮助我!
说明:
我使用https://github.com/ToothlessGear/node-gcm中的库为某些设备构建服务器推送通知。
我已将Google Cloud Message中的API密钥配置为SenderId。
我的代码:
var message2 = new gcm.Message();
**// ... or some given values
var message2 = new gcm.Message({
collapseKey: 'demo',
delayWhileIdle: true,
timeToLive: 3,
data: {
key1: 'message1',
key2: 'message2'
}
});
// Change the message data
// ... as key-value
message2.addData('key1','message1');
message2.addData('key2','message2');
// ... or as a data object (overwrites previous data object)
message2.addData({
key1: 'message1',
key2: 'message2'
});
// Change the message variables
message2.collapseKey = 'demo';
message2.delayWhileIdle = true;
message2.timeToLive = 3;
message2.dryRun = true;
// Set up the sender with you API key
var sender = new gcm.Sender('AIzaSyBzb1PsEBEiAjagslkEANqyxxxxxxxxx');
// Add the registration IDs of the devices you want to send to
var registrationIds = [];
registrationIds.push('APA91bHAbFJYpHsSN-uz1Hkh8XjBw4xU87VIz5hZYOtobVv6I2pUZM67pWUGbb5zcP2HxXrooYiIOhzhIV7TuRDbVOlRDak-.xxxxxxxxxx');
sender.send(message2, registrationIds, 4, function(err, result) {
console.log(result);
});**
然后,我跑了并收到了消息作为照片!
答案 0 :(得分:1)
According to the documentation,MismatchSenderId
表示发件人(API密钥)无权向注册ID发送通知:
注册ID与某组发件人绑定。当客户端应用程序注册GCM时,它必须指定允许哪些发件人发送消息。在向客户端应用程序发送消息时,您应该使用其中一个发件人ID。如果您切换到其他发件人,现有的注册ID将无效。
您应确保您的注册ID允许发件人发出通知。