我正在使用Firebase作为后端开发聊天应用。 需要在每个新消息接收器上获得推送通知,说明他收到了新消息。这是我第一次这样做,所以我有一个问题:
由于我们不使用自己的服务器,我们是否需要第三方提供商(例如Batch)来处理推送通知?如果我没有弄错的话,我认为Firebase不支持发送这样的推送通知,而只支持从控制台发送的推送通知。
任何帮助都会很棒。
答案 0 :(得分:20)
希望有人觉得这很有用,这在我的案例中有所帮助。
目前,Firebase提供的解决方案无法从设备向设备发送推送通知。如果你想要那种类型的东西,你应该尝试免费且易于实现的OneSignal。
答案 1 :(得分:7)
新Firebase中有两项功能可向用户发送通知:
要使用Cloud Messaging发送邮件,您需要在请求中指定授权密钥。由于知道此密钥允许代表您发送消息,因此您希望限制对受信任进程的访问。这确实可以是服务器,但任何可信任的流程都可以。
答案 2 :(得分:0)
(iOS)有点晚了;但也许可以帮助未来的任何人。
我最近有这个问题,我的解决方案是使用设备组方法。
埃尔戈:
将使用registration_ids(或推送的设备ID数组)创建设备组
然后将推送发送到所述设备组
删除设备组
请参阅:https://firebase.google.com/docs/cloud-messaging/ios/device-group
答案 3 :(得分:-5)
您可以使用Http POST请求从Android发送推送通知,我正在使用改造来制作此示例:
网址:https://fcm.googleapis.com/fcm/send
Http Headers:
Content-Type: application/json
Authorization: key=Your_FCM_Key
车身(JSON):
{
"to" : "user_device_id"
"data" : {
"message": "test message",
"color": "black"
},
"notification" : {
"title": "Testing FCM",
"body":"My first notification",
"tag":"chat_msg",
"color" : "#FF4081",
"icon" : "ic_stat_onesignal_default",
}
}
您可以使用Advanced Rest Client“Google Chrome扩展程序”进行测试