【问题标题】:Send FCM Notification to multiple users using their UID through cloud functions通过云功能使用其 UID 向多个用户发送 FCM 通知
【发布时间】:2017-04-16 18:57:53
【问题描述】:

我在 'users' 数组中有用户 Uid 作为 ['uid1','uid2'] 现在我将在云功能中向这些用户发送通知?

        exports.sendNotificationFromCr = functions.database.ref('/cr/{crUid}/notifications/{notificationid}/').onWrite(event => {

    const uid = ['uid1','uid2']; // some how i get this.
    // some work to send notifications
    // to all tokens of uid1 and uid2.    
}

这是数据库结构:

users/
   uid1/
      name:{name}
      FCM-key/
         token1:true
         token2:true
   uid2/
      ...
      FCM-key/
         token3:true

使用 ['uid1','uid2'] 我想向我的数据库中的所有 3 个令牌发送通知。该怎么做?

【问题讨论】:

  • 作为起点,您可以使用Firebase Cloud Messaging Sample 中的一些this code
  • bob,我没有使用 javaScript 的经验,所以我不明白这里发生了什么。我从例子中学到东西,但只有一个例子。我可以通过更改此代码获得“uid1”和“uid2”,但现在我不知道如何向这些用户的所有令牌发送通知。
  • 如果你想使用 Cloud Functions,你肯定需要学习 JavaScript。
  • 是的,但这会让我的项目迟到。我希望他们在云功能中有 Java 或任何其他语言支持:/

标签: javascript android firebase firebase-cloud-messaging google-cloud-functions


【解决方案1】:

如果您使用的是 firebase 之类的东西。然后你会想要一个通知数据库模型,它有用户 ID、通知标题、正文,也许还有图像,还有一个可见标志(真或假)。

然后,您可以将来自客户端或云服务器代码的通知发布到数据库中。每个客户/通知一个。如果您有成千上万的用户,您将使用某种服务器端 cronjob 来卸载它,以便它在您的客户端到服务器 API 之外运行。

在客户端上,您将侦听该模型中过滤 userId 的新行,当它们出现时,在您的 UI 中将它们显示给客户端。客户看到通知后,您会将其标记为在客户端上看到。

如果不知道您使用的是什么平台、代码库、数据库,就不可能用代码术语来解释如何做到这一点。

有各种适用于 IOS、Android 和 Firebase 的 API 可以解决这个问题。

【讨论】:

  • 不完全符合我的要求。我特别关注 firebase/google 云功能。我想要能够使用 firebase/google 云功能向这些用户发送通知的代码。
猜你喜欢
  • 2017-03-05
  • 2021-03-03
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多