代码之家  ›  专栏  ›  技术社区  ›  ZassX

Firebase聊天推送通知

  •  10
  • ZassX  · 技术社区  · 8 年前

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

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

    任何帮助都会很好。

    4 回复  |  直到 8 年前
        1
  •  21
  •   ZassX    8 年前

    希望有人觉得这个有用,它对我的情况有帮助。

    目前,Firebase提供的解决方案无法将推送通知从设备发送到设备。如果你想要那种东西,你应该试试 OneSignal 这是免费的,而且很容易实现。

        2
  •  7
  •   Frank van Puffelen    8 年前

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

    • Firebase云消息传递-下一代Google云消息传递
    • Firebase通知-构建于云消息传递之上,允许您通过Firebase控制台轻松向用户发送通知

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

        3
  •  1
  •   Jack Rosles    7 年前

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

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

    额尔戈:

    1. 将使用registration_id(或推送的设备ID数组)创建设备组

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

    3. 删除设备组

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

        4
  •  -5
  •   Ygor César    8 年前

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

    Url: 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客户端“Google Chrome扩展”进行测试