我可以在后台状态下处理没有数据字段的 FCM 通知消息吗?

Can I handle FCM notification message without data field in background state?

我在处理 FCM 通知消息时遇到问题。

我想处理没有数据字段的通知消息。

所以我在我的项目中实现了firebasemessagingservice,但是没有触发onMessageReceived函数。

可能吗?我可以在后台处理 none 数据字段通知消息吗?

文档说您可以使用 firebase-messaging-sw.js 文件中的 setBackgroundMessageHandler() 执行此操作。

我从来没有做过,但文档是这么说的。

不,onMessageReceived 仅当您有数据负载时才会在后台触发,有关详细信息,请参阅 documentation

如果你只有一个notification字段,它会登陆系统托盘并由系统处理,如果你仍然想自己处理通知,将消息负载更改为数据并只包含相关的通知信息和自己推送通知,详情见documentation.