在一个事件中在后台触发本机 Firebase 多个通知
Posted
技术标签:
【中文标题】在一个事件中在后台触发本机 Firebase 多个通知【英文标题】:React native firebase multiple notification triggered in background in one event 【发布时间】:2021-02-17 07:40:31 【问题描述】:后台通知在一个事件中触发两次,不应该发生, 我无法检测到问题?我正在使用带有notifee的react native firebase进行通知..! 这是 useEffect 代码,我在其中取消订阅前台通知侦听器。
useEffect(() =>
networkCall()
fetchingUserData().then(() =>
setIsLoading(false)
)
//
// This is a function for receiving the notification message and displaying notification
//
async function onMessageReceivedFore(message: any)
onDisplayNotification(message);
console.log('message received Foreground');
async function onMessageReceivedBack(message: any)
onDisplayNotification(message);
console.log('message received Background');
//
//This is for receiving notification onForeground
//
const unsubscribe = messaging().onMessage(onMessageReceivedFore);
//
//This is for receiving notification on background
//
messaging().setBackgroundMessageHandler(onMessageReceivedBack);
return () =>
console.log('component unmount');
onNotificationInteraction()
unsubscribe()
, [])
【问题讨论】:
从 firebase 触发时您会收到两个通知? 从 firebase 我得到了一个,但我猜它在我的代码中,这导致显示两个通知,我猜它是监听器的东西 打开你的androidManifest文件并告诉我com.dieam.reactnativepushnotification.notification_foreground
元数据的值
我的清单中没有这样的标签
您使用哪个库进行推送通知?
【参考方案1】:
我同时使用了 onForeground() 通知和 onBackground() 通知, 当我删除 onBackground() 通知时,onForeground 方法也在后台触发,所以我在一个事件中收到了两个通知......这不应该是这种情况,但现在似乎可以工作......强>
useEffect(() =>
networkCall()
fetchingUserData().then(() =>
setIsLoading(false)
)
//
// This is a function for receiving the notification message and displaying notification
//
async function onMessageReceivedFore(message: any)
onDisplayNotification(message);
console.log('message received Foreground');
//
//This is for receiving notification onForeground
//
const unsubscribe = messaging().onMessage(onMessageReceivedFore);
return () =>
console.log('component unmount');
onNotificationInteraction()
unsubscribe()
, [])
【讨论】:
以上是关于在一个事件中在后台触发本机 Firebase 多个通知的主要内容,如果未能解决你的问题,请参考以下文章
Web firebase.messaging().onMessage 未触发,但后台通知完美触发
在玩笑测试中在 Material UI Select 上触发 mousedown 事件时,我总是收到“anchorEl”警告
OnKeyPress、onKeyDown、onKeyUp 事件在 Android 下的 Firefox/Chrome 中在键入字母时未触发