如何以编程方式使用Firebase向用户发送用户通知?

时间:2018-04-22 21:27:25

标签: android firebase firebase-cloud-messaging

Firebase控制台允许我们向单个用户,群组,订阅主题的用户或整个用户群发送通知。是否有任何代码允许我们以相同的方式直接发送通知,但是以编程方式?

例如,如果我有一个用户列表(包含他们的Firebase UID),如果我点击其中一个用户,我是否可以通过Firebase向该用户发送通知,就像控制台允许我们发送通知一样通过控制台?

  1. This Firebase Blog使用Google App Engine灵活环境实际发送通知,但需要免费试用并需要花钱。
  2. This Quickstart并未真正展示如何将用户发送到用户通知。它侧重于基于订阅的通知,但这不是我真正需要的。
  3. 使用Java / Kotlin和Firebase API执行此操作有什么好方法吗?

1 个答案:

答案 0 :(得分:2)

FCM不支持您直接从Android应用向Android应用发送消息。但是,这是解决问题的解决方法:

  1. 创建firebase云功能。在firebase数据库中监听特殊路径
  2. Android应用1将数据(可能是Android app 2 ID)推送到此路径
  3. Firebase云功能处理数据,确定发送通知的对象(Android app 2)。
  4. Firebase云功能推送通知到Android应用2。
  5. 参考:https://firebase.google.com/docs/functions/use-cases#notify_users_when_something_interesting_happens

    在一个基本概念中:我们编写服务器以从firebase数据库获取操作并决定通过FCM向其他用户发送通知。我们的服务器可以使用NodeJS或使用Firebase Cloud功能编写(上图) 指导如何使用Nodejs在这里:https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html