【问题标题】:What is the difference between Firebase push-notifications and FCM messages?Firebase 推送通知和 FCM 消息有什么区别?
【发布时间】:2016-10-23 04:27:47
【问题描述】:

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

【问题讨论】:

    标签: google-cloud-messaging firebase-cloud-messaging firebase-notifications


    【解决方案1】:

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

    • 通知
    • 数据

    解释:

    1. notification - 仅当您的应用程序位于 background/killed 时,消息才会直接发送到 Android 的通知托盘,如果您的应用程序位于 前台,则消息会传递到 onMessageReceived() 方法。

    示例:

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

    示例:

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

    Reference link

    重要提示:您无法从 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):您的项目 -> 设置 -> 项目设置 -> 云消息传递 -> 服务器密钥

    【讨论】:

    • 谢谢伙计,但我认为从前一天开始,可以从 Firebase 控制台发送数据消息。您的项目 -> 通知 -> 新消息 -> 高级选项 -> 键和值选项....请检查并给我回复
    • @Atenica 不,仍然无法通过控制台发送数据负载。
    • @HishamMuneer 您能否展示我们如何将发送数据发送到 firebase 实时数据库。因为通过在您的回答中使用该技术,我们需要获取所有 android 设备的设备 ID,或者我们需要订阅android设备端。所以我只想将数据推送到firebase服务器,这样我就可以独立于设备ID或android设备订阅工作..
    • @Dragon,也许我没有在这里得到你的问题,但是要在实时数据库中做任何事情,你需要使用 FirebaseDatabase api。如果对您有帮助,您可以检查一下吗:firebase.google.com/docs/database/android/read-and-write
    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 2022-08-16
    • 2017-02-23
    • 2017-02-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2017-03-16
    相关资源
    最近更新 更多