【问题标题】:node js FCM Send notifications to multiple users at oncenode js FCM 一次向多个用户发送通知
【发布时间】:2018-06-25 19:30:08
【问题描述】:

我正在基于 Firebase 构建云通知。我们目前正致力于创建一个服务器作为节点 js 并控制云通知。

不过我查了很多资料,上面的资料大部分都是通过发送通知时接收到token值的方式只传输给一个人的。

当然,我可以使用 mysql 将其发送给大量的人,但是是否可以将其发送给所有安装了该应用程序的用户作为 Firebase 控制台之类的用户段?

这是我引用的网站。我是使用此处提供的脚本制作的。

https://www.npmjs.com/package/fcm-node

【问题讨论】:

    标签: node.js firebase firebase-cloud-messaging


    【解决方案1】:

    但是否可以将其发送给所有安装了该应用的用户,作为 Firebase 控制台等用户群?

    不可能开箱即用。您需要用户的registration token 来进行任何类型的消息传递。如果您没有所有用户的注册令牌,那么您需要为每个用户检索它。请记住在将令牌持久化到数据库之前验证令牌:https://firebase.google.com/docs/auth/admin/verify-id-tokens

    正如fcm-node 的自述文件所述:

    警告:2017 年 2 月 2 日,Firebase 团队向他们的 node.js 管理模块发布了 admin.messaging() 服务。 这项新服务使这个模块有点被弃用

    话虽如此,您有两个选择:

    1. 通过注册令牌向多个用户发送通知:

    -

    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));
    
    1. 或者更好的是,在“用户段”上使用Topic Messaging。您需要为用户订阅他们各自的主题。例如,可以在here 找到有关如何执行此操作的 Android 文档

    -

    const message = {
      data: {
        score: '850'
      },
      topic: 'myUserSegmentTopic'
    };
    
    admin.messaging().send(message)
      .then(res => console.log(res))
      .error(err => console.error(err));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      相关资源
      最近更新 更多