Firebase RemoteMessage已填充Bundle但getData()为空

时间:2017-08-28 10:56:31

标签: android firebase firebase-cloud-messaging

我的firbase RemoteMessage有一个带有12个键值对的mBundle,根据调试器,这些字段被填充enter image description here

但是当我说:Map<String, String>时,生成的ArrayMap defaults的大小为0,因此没有元素。

如何访问remoteMessage的地图?

3 个答案:

答案 0 :(得分:5)

我也遇到了同样的问题 最后解决了这个问题 就我而言,服务器端发送FCM有效负载问题 像这样。

options = {
  priority: 'high',
  notification: {
    title: "title",
    body: "message",
    url: "some_url",
    image_url: "some_image_url"
  }

我更新如下,

options = {
  priority: 'high',
  notification: {
    title: "title",
    body: "message",
  },
  data: {
    url: "some_url",
    image_url: "some_image_url"
  }

之后,我可以通过remoteMessage.getData()获得有效负载值。

答案 1 :(得分:4)

我知道这可能会迟到但您可以从RemoteMessage中的Notification Object获取数据

String title = remoteMessage.getNotification().getTitle();
String body = remoteMessage.getNotification().getBody();

希望这会有所帮助

答案 2 :(得分:0)

调试器最初显示 data 字段为空,但调用 getData() 返回结果,然后调试器显示正确的映射。