为了账号安全,请及时绑定邮箱和手机立即绑定

向1000多个token节点js发送FCM通知

向1000多个token节点js发送FCM通知

绝地无双 2022-11-11 16:58:21
我有带有 5000 多个用户令牌的 Firestore 文档,但 FCM 限制为 1000,如何向所有人发送通知。我如何使用循环发送 1000-1000 任何人都可以帮助我弄清楚这一点。var newData;exports.articlenotification = functions.firestore  .document("Articles/{id}")  .onCreate(async (snapshot, context) => {    //    if (snapshot.empty) {      console.log("No Devices");      return;    }    newData = snapshot.data();    const deviceIdTokens = await admin      .firestore()      .collection("Tokens")      .where("article", "==", true)      .get();    var tokens = [];    for (var token of deviceIdTokens.docs) {      tokens.push(token.data().token);    }    var payload = {      notification: {        title: "New Article",        body: newData.title,        image: newData.image,        sound: "default"      }    };    try {      const response = await admin.messaging().sendToDevice(tokens, payload);      console.log("Notification sent successfully");    } catch (err) {      console.log(err);    }  });
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

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

  1. 设备组

  2. 主题消息

此代码发送 1000 然后 1000 ..etc。但我不喜欢它。你应该使用topic-messaging它来代替它。

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);

}


查看完整回答
反对 回复 2022-11-11
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您需要分批发送消息。


例如:


// 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'));




查看完整回答
反对 回复 2022-11-11
  • 2 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号