【问题标题】:sending a notification to other users when a user clicks a button using firebase当用户使用 firebase 单击按钮时向其他用户发送通知
【发布时间】:2019-01-07 16:16:31
【问题描述】:

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

【问题讨论】:

    标签: android firebase notifications


    【解决方案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",
        }
      }
    }
    

    【讨论】:

    • 所以首先我应该实现如何向用户发送通知,然后我把你建议的代码放在哪里?
    • 只要您希望他们订阅主题,订阅代码就会出现,可能是在第一次开始时。您打算如何发送通知?通过您的服务器、手动、来自其他用户等?
    • 无论如何,您都需要阅读整篇文章,特别是链接到 POST 请求部分:firebase.google.com/docs/cloud-messaging/android/…
    • 我认为这一切都不适合,因为我想要一个通知按钮来指示新通知而不是推送通知,当用户打开它时,它会显示其他用户拥有的数据发送。我应该使用另一种方式还是仍然是这种方式?我一直在寻找几个小时,我发现的只是如何发送推送通知。
    • 啊,我明白了,它是供用户群发消息的,我认为它是为了提醒用户某些新闻主题等。我不确定我害怕,也许编辑你的问题以使其成为可能更清楚的是用户群消息?
    【解决方案2】:

    我不知道你是否想通了(因为你几个月前问过这个问题),但我可能有一个想法。其实我也在寻找你要求做的事情,我读了你的问题。我想做和你一样的事情。然后我想,如果firebase云消息服务不仅可以从firebase控制台接收http POST请求,还可以从ARC(高级REST客户端)等任何其他服务接收http POST请求。

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

    我还没有尝试过,但我现在要尝试。我会在 cmets 中让你知道它是否有效。它应该在理论上起作用。如果您已经想出了发送此类通知的方法,请不要忘记分享您的方法。

    如果你想知道如何发送 JSON HTTP post,那么这里有一个堆栈溢出的答案:SENDING JSON OBJECT

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多