FCM附加数据中"gcm.notification.body"字段消失问题咨询
关于FCM推送中
gcm.notification.body字段消失的问题 嘿,你的理解完全正确——对比前后两次收到的Bundle数据,gcm.notification.body字段确实已经不在当前的payload里了,这就是你代码查找该字段时出故障的直接原因。
我帮你梳理几个可能导致这个变化的原因:
- 推送类型变更:之前的推送应该是用了FCM的「通知消息(Notification Message)」格式,这类消息会自动带上
gcm.notification.*系列字段;如果现在改成了「数据消息(Data Message)」,FCM不会自动生成这些通知相关字段,所有内容都得由推送端自定义。 - 推送参数遗漏:推送端最近的代码或配置调整里,可能不小心删掉了
notification.body这个参数,导致FCM没生成对应的gcm.notification.body字段。 - 拼写错误小插曲:注意到当前数据里有个
goole.message_id(多了一个o),不排除推送端构造payload时出现了拼写失误,说不定连带影响了其他字段的正常生成。
给你几个实用的排查方向:
- 去检查推送端的代码或配置,确认是否还在正确设置
notification.body参数; - 搞清楚当前推送是通知消息还是数据消息:如果是数据消息,你得自己在payload里定义自定义字段来传递内容,不能再依赖
gcm.notification.*了; - 验证推送请求的完整payload,确认是不是真的没包含
notification相关内容。
内容的提问来源于stack exchange,提问作者Kevin Le - Khnle
相关产品推荐
相关产品推荐

