向设备令牌发送通知

时间:2021-02-23 08:11:37

标签: node.js google-cloud-firestore google-cloud-functions firebase-cloud-messaging firebase-admin

我将 Cloud Functions 与 Cloud Messaging 结合使用,我想向所有具有特定 userRole 的设备发送通知(请参阅 userRoleList)。 不幸的是,我不知道该怎么做。 例如,我只想将 userRole 为“Aktive”的 deviceTokens 推送到 deviceTokens。

Here is my structure in Cloud Firestore

这是我到目前为止的 Cloud Functions 代码:

23/02/2021, 12:44:06

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以查询 Firestore 以检索具有给定角色的用户。

const snap = await admin.firestore().collection('users')
  .where('userRoleList', 'array-contains', 'Aktive')
  .get();
const tokens = [];
snap.docs.forEach((doc) => {
  tokens.push(doc.data().deviceToken);
});

然后将 tokens 分成 500 个批次,并且:

await admin.messaging().sendMulticast({
  tokens,
});