Firebase 中针对特定用户的数据库更新通知

use*_*111 5 android firebase firebase-realtime-database

我正在尝试创建一个 android 应用程序并想使用 firebase 数据库。当我阅读 firebase 时,它​​允许进行即时消息传递,并在数据库更新时通知客户端。我需要创建一个数据库,当发生任何数据库更改时,只需要通知相关用户。firebase 是否可以实现,或者我应该为此目的使用后端服务器?

yoo*_*hok 6

您只能使用 Firebase 执行此操作。你需要的是

  1. Firebase 数据库(实时数据库/Firestore)
  2. Firebase 云函数
  3. Firebase 云消息传递 (FCM)

您应该编写两个侧面代码:

  1. 客户端(安卓)
  2. 服务器端(云功能)

在客户端(Android)

  1. 您应该注册令牌。(要使用 FCM 发送通知,需要 Token。)您可以轻松完成此操作(https://firebase.google.com/docs/cloud-messaging/android/client
  2. 我建议您也可以将令牌存储到数据库/firestore 中。例如:

    类用户{长ID;字符串电子邮件;字符串令牌;}

  3. 您可以编写代码来修改数据库/firestore。

  4. 实现接收代码(https://firebase.google.com/docs/cloud-messaging/android/receive

在服务器端(云功能)

  1. 向数据库/firestore 添加一些触发器。
  2. 从数据库/firestore 获取令牌
  3. 只需发送 FCM 消息(https://firebase.google.com/docs/cloud-messaging/admin/send-messages

您可以获取服务器端(云功能)的示例代码 https://github.com/firebase/functions-samples/tree/master/fcm-notifications


Ale*_*amo 4

是的,您可以使用Firebase Cloud Functions来实现此目的:

允许您自动运行后端代码以响应 Firebase 功能和 HTTPS 请求触发的事件。您的代码存储在 Google 的云中并在托管环境中运行。

借助Firebase Cloud Messaging,可以:

是一种跨平台消息传递解决方案,可让您免费可靠地传递消息。使用 FCM,您可以通知客户端应用程序有新电子邮件或其他数据可供同步。您可以发送通知消息来推动用户重新参与和保留。

因此,您可以编写一个函数,Firebase Cloud Functions每当数据库中发生某些变化时就会触发通知。两个文档都得到了很好的解释。