10

我正在开发一个使用 Firebase 作为后端的聊天应用程序。要求在每个新消息接收者上收到一个推送通知,说明他收到了一条新消息。这是我第一次做这样的事情,所以我有一个问题:

由于我们不为此使用自己的服务器,我们是否需要第三方提供商(例如 Batch)来处理推送通知?如果我没记错的话,我认为 Firebase 不支持发送这样的推送通知,而只支持从控制台发送的推送通知。

任何帮助都会很棒。

4

4 回答 4

21

希望有人觉得这很有用,它对我有帮助。

目前,Firebase 提供的解决方案无法在设备之间发送推送通知。如果您想要那种类型的东西,您应该尝试免费且非常容易实现的OneSignal 。

于 2016-06-07T16:46:04.767 回答
7

新版 Firebase 中有两个功能可以向用户发送通知:

  • Firebase Cloud Messaging - 下一代 Google Cloud Messaging
  • Firebase Notifications - 建立在 Cloud Messaging 之上,可让您通过 Firebase 控制台轻松向用户发送通知

要使用云消息发送消息,您需要在请求中指定授权密钥。由于知道此密钥允许代表您发送消息,因此您需要将对其的访问限制为受信任的进程。这确实可以是服务器,但任何受信任的进程都可以。

于 2016-05-27T12:56:54.033 回答
1

(iOS) 有点晚了;但也许可以在未来帮助任何人。

我最近遇到了这个问题,我的解决方案是利用设备组方法。

尔格:

  1. 将使用registration_ids(或用于推送的设备ID数组)创建一个设备组

  2. 然后将推送发送到所述设备组

  3. 删除设备组

请参阅:https ://firebase.google.com/docs/cloud-messaging/ios/device-group

于 2017-10-02T14:48:03.637 回答
-5

您可以使用 Http POST 请求从 Android 发送推送通知,我正在使用改造来做到这一点,例如:

网址:https ://fcm.googleapis.com/fcm/send

Http 标头:

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 "Extension of Google Chrome" 进行测试

于 2016-05-27T18:14:33.133 回答