Node.js 如何在NodeJs中发送带有android推送通知的Json对象
我正在使用下面的代码发送推送通知,它可以正常使用消息作为普通字符串,如果我将消息插入JSON,它就不工作了Node.js 如何在NodeJs中发送带有android推送通知的Json对象,node.js,express,Node.js,Express,我正在使用下面的代码发送推送通知,它可以正常使用消息作为普通字符串,如果我将消息插入JSON,它就不工作了 var GCM = require('gcm').GCM; var gcm = new GCM('MyApi'); var message = { registration_id: ['x'], collapse_key: 'New shop created - duty paid shop', // normal string is working // c
var GCM = require('gcm').GCM;
var gcm = new GCM('MyApi');
var message = {
registration_id: ['x'],
collapse_key: 'New shop created - duty paid shop', // normal string is working
// collapse_key: {'message':'new shop created','shopname':'shopname'}, this JSON dosen't works ?
priority: 'high',
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
};
gcm.send(message, function(err, messageId){
if (err) {
console.log(err);
} else {
console.log("Sent with message ID: ", messageId);
}
});
使用JSON时,错误就像缺少折叠键一样尝试以下操作:
var GCM = require('gcm').GCM;
var gcm = new GCM('MyApi');
var message = {
registration_id: ['x'],
//collapse_key: 'New shop created - duty paid shop', // normal string is working
collapse_key: '{\'message\':\'new shop created\',\'shopname\':\'shopname\'}',
priority: 'high',
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
};
gcm.send(message, function(err, messageId){
if (err) {
console.log(err);
} else {
console.log("Sent with message ID: ", messageId);
}
});
试试这个:
var GCM = require('gcm').GCM;
var gcm = new GCM('MyApi');
var message = {
registration_id: ['x'],
//collapse_key: 'New shop created - duty paid shop', // normal string is working
collapse_key: '{\'message\':\'new shop created\',\'shopname\':\'shopname\'}',
priority: 'high',
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
};
gcm.send(message, function(err, messageId){
if (err) {
console.log(err);
} else {
console.log("Sent with message ID: ", messageId);
}
});
折叠密钥只能是字符串,不能是json
请在此处查看文档
您可以在datapayload中发送json作为
var GCM = require('gcm').GCM;
var gcm = new GCM('MyApi');
var message = {
registration_id: ['x'],
collapse_key: 'New shop created - duty paid shop',
priority: 'high',
notification: {title: "hello", message: "hello world"}, // for recieving notification on app side plus you need write separate notification handling function on app //A
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
data: {'message':'new shop created','shopname':'shopname'}
};
gcm.send(message, function(err, messageId){
if (err) {
console.log(err);
} else {
console.log("Sent with message ID: ", messageId);
}
});
折叠密钥只能是字符串,不能是json
请在此处查看文档
您可以在datapayload中发送json作为
var GCM = require('gcm').GCM;
var gcm = new GCM('MyApi');
var message = {
registration_id: ['x'],
collapse_key: 'New shop created - duty paid shop',
priority: 'high',
notification: {title: "hello", message: "hello world"}, // for recieving notification on app side plus you need write separate notification handling function on app //A
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
data: {'message':'new shop created','shopname':'shopname'}
};
gcm.send(message, function(err, messageId){
if (err) {
console.log(err);
} else {
console.log("Sent with message ID: ", messageId);
}
});
我们可以使用节点gcm模块发送json数据
var gcm = require('node-gcm');
var apiKey = 'ApiKey';
var message = new gcm.Message({
collapseKey: 'demo',
priority: 'normal',
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
data:{"message":"New Shop Created","shopName":"XYZ"}
});
var sender = new gcm.Sender(apiKey);
sender.send(message, { registrationTokens: 'id'}, function (err, response) {
if (err){
console.error(err);
} else {
console.log(response);
}
});
我们可以使用节点gcm模块发送json数据
var gcm = require('node-gcm');
var apiKey = 'ApiKey';
var message = new gcm.Message({
collapseKey: 'demo',
priority: 'normal',
contentAvailable: true,
delayWhileIdle: true,
timeToLive: 3,
data:{"message":"New Shop Created","shopName":"XYZ"}
});
var sender = new gcm.Sender(apiKey);
sender.send(message, { registrationTokens: 'id'}, function (err, response) {
if (err){
console.error(err);
} else {
console.log(response);
}
});
是的,您的观点绝对正确,但如果我以JSON格式发送消息,则在接收时该消息为空?为了在应用程序上接收通知,您需要在消息中添加通知键是的,您的观点绝对正确,但如果我以JSON格式发送消息,接收时为空?为了在应用程序上接收通知,您需要在消息中添加通知键