当用户使用Firebase单击按钮时向其他用户发送通知

时间:2019-01-07 16:16:31

标签: android firebase notifications

我正在将Firebase用于我的android studio项目,并且希望有一个通知按钮,以便每当用户单击“发送”按钮时,通知按钮都指示有一个新通知,并且该通知包含用户发送的数据。可以使用firebase这样做吗?以及如何?

2 个答案:

答案 0 :(得分:1)

好的。您要使用Topic Messaging in FCM

Here是设置指南。

实施后,请为用户订阅:

FirebaseMessaging.getInstance().subscribeToTopic("dogs")

并通过应用程序上的POST请求(不安全,不推荐)或通过服务器(推荐)发送通知:

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
{
   "message":{
    "condition": "'dogs' in topics || 'cats' in topics",
    "notification" : {
      "body" : "This is a Firebase Cloud Messaging Topic Message!",
      "title" : "FCM Message",
    }
  }
}

答案 1 :(得分:0)

我不知道,您是否想出来(因为几个月前您问过这个问题),但是我可能有一个主意。实际上,我也在搜索您要执行的操作,并且阅读了您的问题。我想和你做同样的事情。然后我想,如果Firebase云消息传递服务不仅可以从Firebase控制台接收到http POST请求,还可以从ARC(高级REST客户端)之类的任何其他服务接收到。

所以解决方案: 当用户单击应用程序时,从您的应用程序发送JSON HTTP帖子,并从用户那里接收所需的数据。现在,当Firebase云消息传递服务器收到JSON响应时,您应该将单击按钮的用户发送的数据与每个用户的通知一起发送给每个用户。

我还没有尝试过,但是我现在要尝试。我会在评论中告知您是否可行。它应该在理论上起作用。如果您已经找到了发送此类通知的方法,请不要忘记分享您的方法。

如果您想知道如何发送JSON HTTP帖子,那么这里是一个堆栈溢出的答案:SENDING JSON OBJECT