【发布时间】:2019-01-07 16:16:31
【问题描述】:
我在我的 android studio 项目中使用 Firebase,我希望有一个通知按钮,以便每当用户单击发送按钮时,通知按钮都会指示有一个新通知,并且该通知包含用户发送的数据。是否可以使用 firebase 这样做?以及如何?
【问题讨论】:
标签: android firebase notifications
我在我的 android studio 项目中使用 Firebase,我希望有一个通知按钮,以便每当用户单击发送按钮时,通知按钮都会指示有一个新通知,并且该通知包含用户发送的数据。是否可以使用 firebase 这样做?以及如何?
【问题讨论】:
标签: android firebase notifications
当然。你想使用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/…
我不知道你是否想通了(因为你几个月前问过这个问题),但我可能有一个想法。其实我也在寻找你要求做的事情,我读了你的问题。我想做和你一样的事情。然后我想,如果firebase云消息服务不仅可以从firebase控制台接收http POST请求,还可以从ARC(高级REST客户端)等任何其他服务接收http POST请求。
所以解决方案: 当用户单击应用程序时,从您的应用程序发送一条 JSON HTTP 帖子,其中包含从用户那里收到的所需数据。现在,当 Firebase 云消息传递服务器收到 JSON 响应时,它应该向每个用户通知单击按钮的用户发送的数据。
我还没有尝试过,但我现在要尝试。我会在 cmets 中让你知道它是否有效。它应该在理论上起作用。如果您已经想出了发送此类通知的方法,请不要忘记分享您的方法。
如果你想知道如何发送 JSON HTTP post,那么这里有一个堆栈溢出的答案:SENDING JSON OBJECT
【讨论】: