如何在后台控制FCM消息通知

时间:2016-07-12 07:00:30

标签: java android android-notifications firebase-cloud-messaging

我已在我的应用程序中实施了FCM Firebase云消息传递。 当应用程序处于forground模式时,我收到通知及其数据。

问题:

当我的应用程序处于后台模式或被杀时,通知会通过FCM自动生成。所以我无法控制到达的通知数据(通知的coustom数据字段)。     当应用程序处于后台模式并且通知到达时,MyFirebaseMessagingService类的onMessageReceived(RemoteMessage remoteMessage)方法不会被调用。

请帮助在两种模式下获得通知控制(与GCM相同)

1 个答案:

答案 0 :(得分:5)

  

问题:

     

当我的应用处于后台模式或当时被杀时通知   通过FCM到达但它的genrate auto。所以我无法控制到达   通知数据(通知的coustom数据字段)。   onMessageReceived(RemoteMessage remoteMessage)方法   当应用程序处于后台模式时,不会调用MyFirebaseMessagingService类   并且通知到了。

     

请帮助在两种模式下获得通知控制(与GCM相同)

如果您使用Firebase控制台发送通知,则无法控制通知。如果应用程序处于后台或已杀死,则不会在onMessageReceived()方法中发送从Firebase控制台发送的通知。

解决方案:

使用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..."
}

以上通知将在onMessageReceived()方法中提供,无论您的应用是在后台还是前台或被杀。

尝试使用高级REST客户端,图片寻求帮助:

enter image description here