我开发的React Native应用程序与rnfirebase
和notifee
发送推送通知。前台工作正常,消息只显示一次。但后台通知显示两次,一次来自messaging().setBackgroundMessageHandler
,另一次来自android的默认推送通知。第一条消息来自默认推送通知,下一条消息来自firebase消息传递。那么,如何删除android'的默认推送通知。我还检查了第一个默认通知没有使用firebase消息和notifee。它来自react native之外,就像android的原生推送通知
2条答案
按热度按时间yvt65v4c1#
您看到的通知很可能一个来自firebase,另一个来自Notifee。在我的项目中,我通过
firebase.messaging().onMessage
处理来自firebase的通知,在这个侦听器中,我使用Notifee显示本地通知,以便通知显示在前台。然而,发生的事情是,我调用了这个
showNotificationInForeground
方法,在firebase的后台和消息监听器上显示本地Notifee通知,即:firebase.messaging().onMessage
和firebase.messaging().setBackgroundMessageHandler
因此,我最终只在
onMessage
侦听器中调用showNotificationInForeground
方法,而不在setBackgroundMessageHandler
中调用,这导致在前台显示本地通知,在后台显示firebase通知。如果不是这种情况,您很可能在
AndroidManifest.xml
文件中注册了额外的通知接收器,从而导致重复mm5n2pyu2#
我遇到了同样的问题,有两个通知a)1来自notifee(我想保留)b)来自FCM(我不想保留).从我的自定义服务器发送一个只包含数据的消息解决了这个问题.下面是发送只包含数据的消息的服务器端的片段:
您也可以使用其他方法,只要确保FCM不包含通知,并且仅包含数据即可。