Javascript 向1000多个令牌节点js发送FCM通知

Javascript 向1000多个令牌节点js发送FCM通知,javascript,node.js,firebase,firebase-cloud-messaging,Javascript,Node.js,Firebase,Firebase Cloud Messaging,我有firestore文档和5000+用户令牌,但FCM限制为1000我如何发送 通知所有人 如何使用loop发送1000-1000任何人都可以帮助我解决这个问题 var新数据; exports.articlenotification=functions.firestore .document(“Articles/{id}”) .onCreate(异步(快照、上下文)=>{ // if(snapshot.empty){ 控制台日志(“无设备”); 返回; } newData=snapshot.d

我有firestore文档和5000+用户令牌,但FCM限制为1000我如何发送 通知所有人

如何使用loop发送1000-1000任何人都可以帮助我解决这个问题

var新数据;
exports.articlenotification=functions.firestore
.document(“Articles/{id}”)
.onCreate(异步(快照、上下文)=>{
//
if(snapshot.empty){
控制台日志(“无设备”);
返回;
}
newData=snapshot.data();
const deviceIdTokens=等待管理员
.firestore()
.集合(“代币”)
。其中(“第条,”=”,true)
.get();
var标记=[];
for(deviceIdTokens.docs的var标记){
tokens.push(token.data().token);
}
var有效载荷={
通知:{
标题:“新文章”,
正文:newData.title,
image:newData.image,
声音:“默认”
}
};
试一试{
const response=wait admin.messaging().sendToDevice(令牌、有效负载);
console.log(“通知发送成功”);
}捕捉(错误){
控制台日志(err);
}
});

您需要将消息发送到

例如:

// Create a list containing up to 500 messages.
const messages = [];
messages.push({
  notification: {title: 'Price drop', body: '5% off all electronics'},
  token: registrationToken,
});
messages.push({
  notification: {title: 'Price drop', body: '2% off all books'},
  topic: 'readers-club',
});

admin.messaging()
.sendAll(messages)
.then((response) => console.log(response.successCount + ' messages were sent successfully'));

你需要把这封信寄进来

例如:

// Create a list containing up to 500 messages.
const messages = [];
messages.push({
  notification: {title: 'Price drop', body: '5% off all electronics'},
  token: registrationToken,
});
messages.push({
  notification: {title: 'Price drop', body: '2% off all books'},
  topic: 'readers-club',
});

admin.messaging()
.sendAll(messages)
.then((response) => console.log(response.successCount + ' messages were sent successfully'));

有两种方法可以做到这一点。先发1000,然后发1000等等。第二种方式是发送到特定主题,所有订阅此主题的客户端都将收到您的通知

  • 此代码发送1000然后发送1000..等。但我不喜欢。您应该使用
    主题消息
    ,而不是它

    for (let i = 0; i < listOf5000Tokens.length; i += 1000) {
        const listOf1000Tokens = listOf5000Tokens.slice(i, i + 1000);
    
        // using await to wait for sending to 1000 token
        await doSomeThing(listOf1000Tokens);
    }
    
    for(设i=0;i
    有两种方法。先发1000,然后发1000等等。第二种方式是发送到特定主题,所有订阅此主题的客户端都将收到您的通知

  • 此代码发送1000然后发送1000..等。但我不喜欢。您应该使用
    主题消息
    ,而不是它

    for (let i = 0; i < listOf5000Tokens.length; i += 1000) {
        const listOf1000Tokens = listOf5000Tokens.slice(i, i + 1000);
    
        // using await to wait for sending to 1000 token
        await doSomeThing(listOf1000Tokens);
    }
    
    for(设i=0;i