使用firebase云消息向成千上万的用户发送推送通知的最佳方式是什么



我需要向成千上万的用户发送推送通知。但根据firebase文档,我一次只能发送给500个用户。

getMessaging().sendMulticast(message)
.then((response) => {
console.log(response.successCount + ' messages were sent successfully');
});

我可以处理多达1000用户使用这种方法

const registrationTokens = [
'YOUR_REGISTRATION_TOKEN_1',
// ...
'YOUR_REGISTRATION_TOKEN_n'
];
getMessaging().sendToDevice(registrationTokens, payload)
.then((response) => {
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});

有没有其他方法可以让我一次处理多个用户(>10000(?向主题发送消息是否可以解决此问题?或者它也有它的局限性

const message = {
data: {
score: '850',
time: '2:45'
},
topic: "topic"
};
// Send a message to devices subscribed to the provided topic.
getMessaging().send(message)
.then((response) => {
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});

实现这一点的一种方法是为特定路径的所有文件设置一个全局变量,并编辑该全局路径,而不是编辑每个其他路径。

示例:

全局js文件:

global var path = "/EXAMPLE/PATH"

特定html文件:

<body>
<script href = "PATH FOR THE GLOBAL FILE"></script>
<script href = path></script>
</body>

如果您使用Unix操作系统,您可能同时有sedfind命令。然后在shell中运行:

for file in $(find .); do sed -i '' "s/./app.js/../app.js/g" $file; done

首先,我们循环浏览当前目录中的所有文件:

for file in $(find .); do

然后,我们对每个文件运行replace命令,将"./app.js"替换为"../app.js".

sed -i '' "s/./app.js/../app.js/g" $file;

您需要为每个需要替换的路径运行它。

相关内容

  • 没有找到相关文章