29

Heloo,我正在构建一个应用程序,我通过 Firebase 控制台使用推送通知。我想知道简单的推送通知和云消息有什么区别?来自云消息传递的消息是数据消息(具有键和值)而通知只是没有键和值的文本吗?对吗?

4

1 回答 1

58

Firebase API 有两种类型的消息,他们称之为:

  • 通知
  • 数据

解释:

  1. 通知- 仅当您的应用程序处于后台/被杀死时直接进入 Android 通知托盘的消息,或者如果您的应用程序处于前台则被传递到onMessageReceived()方法。

样本:

{
    "notification" : { "body" : "Hi"}
}
  1. 数据有效负载- 无论您的应用程序是在前台还是后台还是被杀死,这些消息都将始终传递给onMessageReceived()方法。

样本:

{
    "data" : { "message" : "Hi", "whatever_key": "value"}
 }

参考链接

重要提示:您不能从Firebase 控制台发送数据负载消息,控制台仅发送通知消息。但是使用 API,您可以发送两种类型的消息。

要发送数据有效负载消息,您必须发出 curl 请求:

HTTP POST 请求

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}

您可以从 firebase 控制台获取服务器密钥 (AIzaSyZ-1u...0GBYzPu7Udno5aA):您的项目 -> 设置 -> 项目设置 -> 云消息传递 -> 服务器密钥

于 2016-06-21T15:21:00.123 回答