收到带有通知和数据有效载荷的FCM,没有任何数据

时间:2019-11-19 15:24:32

标签: android firebase-cloud-messaging

我正在尝试在应用处于后台/关闭状态时接收带有数据有效负载的推送通知。但是当从onCreate / onNewIntent解析意图时,没有收到额外的数据。

推送请求正文如下:

{
 "data": {
  "body": "here is body",
  "title": "Title",
  "type": "LOGIN",
        "intercomMessage": "test"
 },
"notification": {
  "body": "here is body",
  "title": "Title",
  "type": "LOGIN",
        "intercomMessage": "test"
 },
 "to": "#push_token"
}

仅使用数据FCM都可以正常工作,但是我们需要支持带有数据有效负载的通知消息

4 个答案:

答案 0 :(得分:0)

只需尝试以下JSON

{
 "data": {
  "body": "here is body",
  "title": "Title",
  "type": "LOGIN",
  "intercomMessage": "test"
 },
 "to": "#push_token",
 "priority": "high",
}

notification标签不是必需的

答案 1 :(得分:0)

您需要在您将创建的MyFirebaseMessagingService类中添加通知代码,该类将从FirebaseMessagingService扩展

答案 2 :(得分:0)

已经发现,导致原因的原因:接收活动中标志的这种组合。

android:configChanges="orientation"
            android:hardwareAccelerated="false"
            android:clearTaskOnLaunch="true"
            android:launchMode="singleTask"
            android:alwaysRetainTaskState="true"
            android:screenOrientation="portrait" 

参加另一项活动后,一切都按预期完成

答案 3 :(得分:0)

  • 在后台接收时带有通知和数据有效负载的消息。在这种情况下,通知会传递到设备的系统托盘,数据有效载荷会在启动器活动的意图之外传递。
  • 您应该使用数据有效载荷在onMessageReceived()中接收数据并显示通知