Node.js 节点gcm:为所有设备发送推送通知
我正在尝试使用node.js构建PushNotification服务器, 我使用了“节点fcm”,但它不适用于我,所以我尝试使用“节点gcm”,但我面临同样的问题,我不知道如何为所有用户发送通知?我需要在字段(to:)中写些什么 这是我的代码:Node.js 节点gcm:为所有设备发送推送通知,node.js,push-notification,ionic2,Node.js,Push Notification,Ionic2,我正在尝试使用node.js构建PushNotification服务器, 我使用了“节点fcm”,但它不适用于我,所以我尝试使用“节点gcm”,但我面临同样的问题,我不知道如何为所有用户发送通知?我需要在字段(to:)中写些什么 这是我的代码: var gcm = require('node-gcm'); var Sender_ID = '55*****'; var API_KEY = 'my server key'; var sender = new gcm.Sender(API_KEY,{'
var gcm = require('node-gcm');
var Sender_ID = '55*****';
var API_KEY = 'my server key';
var sender = new gcm.Sender(API_KEY,{'proxy':'http://username:password@my_proxyinternet.com:8080' , timeout: 5000});
var message = new gcm.Message({
notification: {
title: "Hello, World",
icon: "ic_launcher",
body: "This is a notification that will be displayed."
}
});
var registrationTokens = [];
registrationTokens.push(['All']);
sender.send(message, { registrationTokens: 'All' }, function (err, response) {
if (err) console.error(err + ' ERROR');
else console.log(response + ' ELSE');
});
结果是:
{多播_id:-1,成功:0,失败:1,规范_id:0,结果:[{错误:'InvalidRegistration'}]}错误:收件人密钥'registrationTokens'作为不正确的类型提供。错误进程已完成,退出代码为0
注意:我使用Ionic 2,我可以从收到通知。问题解决了,事实上我没有找到向所有用户发送通知的解决方案,所以我在android应用程序中使用了如下主题: 在我的ionic应用程序中,我将主题选项添加到android选项中,如:
const options: PushOptions = {
android: {
topics:['A123'],
senderID: "55*********5"
}
对于服务器,我使用了这个
最后,我将以下代码写入index.js文件:
var-gcm=require('./lib/node-gcm');
var message=新的gcm.message();
message.addNotification({
标题:“警惕!!!”,
正文:“异常数据访问”,
图标:“可绘制hdpi图标”,
图像:'可绘制hdpi图标',
警告:“正确”,
声音:“真的”
});
//在此处添加您的移动设备注册令牌
重试次数=4;
var regTokens='AAAAgXm-v**:*********************************************************************************************************************************EaH';
var sender=new gcm.sender(regTokens,{'proxy':'http://Username:Password@my_proxy.com:8080',超时:5000});
send(消息,{topic:“/topics/A123”},重试计数,函数(err,response){
如果(错误){
控制台错误(err);
}否则{
控制台日志(响应);
}
});代码>,如果要使用FCM-PUSH;这是一个真实的例子:
var FCM=require('FCM-push')
var服务器&u API='AAA***************************************************jEaH'//把你的api密钥放在这里
var fcm=新fcm(服务器API)
var消息={
致:“/topics/A123”,
//折叠键:“55”,
优先级:“高”,
可用内容:正确,
通知:{
标题:“推送通知的标题”,
正文:“推送通知的正文”
},
数据:{//您只能发送通知或数据(或同时发送)
我的钥匙:“我的价值”,
我的另一个键:“我的另一个值”
}
}
fcm.send(消息、功能(错误、响应){
如果(错误){
log(“出现了问题!”)
}否则{
日志(“已成功发送,响应:”,响应)
}
})