我们正在使用react native firebase版本6消息来处理推送通知。从远程通知内容来看,我们无法在ios上增加/减少徽章计数。因此,我们使用push notification ios来设置标记计数。
当应用程序处于前台和后台时,它工作得很好。但是当应用程序关闭时,我们能够收到通知,但无法更新徽章计数。
messaging().onMessage(async remoteMessage => {
Alert.alert('A new FCM message arrived!', JSON.stringify(remoteMessage));
});
messaging().setBackgroundMessageHandler(async remoteMessage => {
PushNotificationIOS.getApplicationIconBadgeNumber(number => {
PushNotificationIOS.setApplicationIconBadgeNumber(number + 1);
});
asyncstorage.saveItem("remoteMessage", "only one killed message received");
});
这里的setBackgroundMessageBox是在后台状态下工作的。根据文档,即使在应用程序关闭时也应该调用此方法。但事实并非如此。为了更清楚地说明,当应用程序被杀死时,我在这个方法中执行了一个bloc存储操作。但它并没有像预期的那样工作。
我正在添加服务器端数据,我已经从后端发送通知,
{
"to":".................",
"notification":{
"title":"Working Good",
"body":"backgroudn noti",
"badge":"1",
"sound":"./app/assets/sound/alert.wav"
},
"priority":"high",
"badge":"1",
"content_available":true
}
我想提一下这些钥匙的几点,
通知对象中有一个徽章,即使应用程序关闭,它也会在每次关闭时设置为图标。但无法增加/减少标记计数。它总是1。
添加**“content_available”属性后,我可以更新徽章计数。这意味着在添加了content_available only之后,我在setBackgroundMessageMessage方法中获得了触发器,并使用推送通知ios属性更新了徽章计数。
现在我在应用关闭时,setBackgroundMessageArray方法中没有触发器。
在setBackgroundMessageArray方法中获取触发器,是否还需要添加其他键,即使应用已关闭?
我计划尝试使用一些后台库**,比如react-native background fetch。但是在收到通知后,如果代码中没有任何触发器,我就不能触发后台获取库来唤醒应用程序。
那么我如何才能进入这种方法,同时接收通知时,应用程序关闭?
如果需要更多的细节来澄清这个问题,请给我打电话。谢谢你的帮助
1条答案
按热度按时间xv8emn3q1#
messaging().onMessage
仅在您的应用处于后台或前台模式时工作。如果您想在应用程序关闭时接收消息,请使用此选项: