我是Firebase
的新手,我从旧的MySql数据库中调整它的主要原因是能够发送推送通知和动态链接。在过去的两天里,我一直在尝试向已经从我的node.js
脚本订阅主题的一群人发送通知。该脚本始终返回InternalServerError
。我能够从Firebase
控制台发送通知,但这对我的应用程序来说还不够好,因为我需要实现动态通知(即由一个用户操作触发)。
到目前为止,我还不明白官方文档中的内容,并尝试按照我找到的教程进行操作,目前我在这里
app.get('/push',function(req,res){
/*var title = req.params.title;
var body = req.params.body;*/
// var confName = req.params.name;
var message = { //this may vary according to the message type (single recipient, multicast, topic, et cetera)
to: '/topics/ilisten',
// collapse_key: 'your_collapse_key',
notification: {
title: 'This is Title',
body: 'This is body'
},
data: { //you can send only notification or only data(or include both)
my_key: 'Conf Name here'
}
};
fcm.send(message, function(err, response){
if (err) {
console.log("Something has gone wrong!"+err);
} else {
console.log("Successfully sent with response: ", response);
}
});
})
我的第一个问题是我应该在to
字段中执行哪些操作,以便我的应用中的所有用户都能完成通知。
我还想看一下使用android代码正确和完整地实现这个概念。如果有人有此类代码,请在此处分享,因为这有助于未来Firebase
用户无法理解像我这样的官方文档。
答案 0 :(得分:1)
以下是使用node-gcm
(https://github.com/ToothlessGear/node-gcm)
var gcm = require('node-gcm');
var sender = new gcm.Sender(<sender_key>);
var message = new gcm.Message();
message.addNotification('title', title);
message.addNotification('body', body);
sender.send(message, { topic: "/topics/" + topic }, function (err, response) {
if (err) console.error(err);
else console.log(response);
});