我正在基于Firebase构建云通知。我们目前正在努力将服务器创建为节点js,并控制云通知。
但是,我搜索了很多数据,并且在发送通知时,通过接收令牌值,上述大多数数据仅传输给一个人。
当然,我可以使用mysql将其发送给很多人,但是有可能将其发送给所有安装了该应用程序的用户(如Firebase控制台)吗?
这是我引用的网站。我使用此处提供的脚本制作的。
答案 0 :(得分:1)
但是可以将其发送给所有安装了该应用程序的用户作为Firebase控制台等用户细分吗?
不可能开箱即用。您需要用户的registration token来进行任何形式的消息传递。如果您没有所有用户的注册令牌,则需要为每个用户检索它。请记住在令牌之前 将其持久保存到数据库中:https://firebase.google.com/docs/auth/admin/verify-id-tokens
根据fcm-node
的自述文件:
警告:2017年2月2日,Firebase团队将admin.messaging()服务发布到其node.js管理模块。 这项新服务使该模块不再适用
话虽如此,您有两种选择:
-
const registrationTokens = [
'abc',
'efg',
'123'
];
const message = {
data: {
score: '850'
},
token: registrationToken
};
const promises = [];
registrationTokens.forEach(token => {
const promise = admin.messaging().send(message);
promises.push(promise);
});
Promise.all(promises)
.then(results => console.log(results))
.catch(err => console.error(err));
-
const message = {
data: {
score: '850'
},
topic: 'myUserSegmentTopic'
};
admin.messaging().send(message)
.then(res => console.log(res))
.error(err => console.error(err));