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

时间:2017-11-23 20:07:20

标签: android firebase firebase-realtime-database

我正在尝试创建一个Android应用程序,并希望使用firebase数据库。在我阅读时,firebase允许即时消息传递,并在数据库更新时通知客户端。我需要创建一个数据库,当发生任何数据库更改时,只需要通知相关用户。这可能与firebase有关,还是我应该为此目的使用后端服务器?

2 个答案:

答案 0 :(得分:3)

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

  

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

使用extra-context

  

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

因此,您可以在Firebase Cloud Functions中编写一个函数,该函数会在您的数据库中每次发生变化时触发通知。两篇文章都有很好的解释。

答案 1 :(得分:3)

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

  1. Firebase数据库(实时数据库/ Firestore)
  2. Firebase云功能
  3. Firebase云消息传递(FCM)
  4. 你应该写两个边码:

    1. 客户端(Android)
    2. 服务器端(云功能)
    3. 在客户端(Android)

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

        类用户{     长的;     串电子邮件;     字符串标记; }

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

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

      5. 在服务器端(云功能)

        1. 向数据库/ firestore添加一些触发器。
        2. 从数据库/ firestore获取令牌
        3. 只发送FCM消息(https://firebase.google.com/docs/cloud-messaging/admin/send-messages
        4. 您可以获取服务器端的示例代码(云功能) https://github.com/firebase/functions-samples/tree/master/fcm-notifications