gpt4 book ai didi

react-native - 应用程序关闭时无法更新徽章计数 - react native iOS

转载 作者:行者123 更新时间:2023-12-05 08:05:58 28 4
gpt4 key购买 nike

我们正在使用 react native firebase version 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");
});

此处setBackgroundMessageHandler 在应用程序处于后台状态时起作用。根据文档,即使在应用程序关闭时也应该调用此方法。但事实并非如此。为了更清楚地说明,当应用程序终止时,我在这个方法中做了一个异步存储操作。但它没有按预期工作。

我还添加了服务器端数据,这些数据是我从后端发送给通知的,

{
"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 之后,我在 setBackgroundMessageHandler 方法中获得了触发器,并且我使用推送通知 ios 属性更新了徽章计数。

现在,当应用程序关闭时,我不会在 setBackgroundMessageHandler 方法中获得任何触发器。

我是否需要添加任何其他键才能在 setBackgroundMessageHandler 方法中获取触发器,即使应用已关闭?

我计划尝试使用一些后台库,例如react-native background fetch。但是在收到通知后,在代码中没有得到任何触发器,我无法触发后台获取库也唤醒应用程序。

那么,在应用关闭时接收通知的同时,如何进入这个方法呢?

如果需要更多详细信息来澄清问题,请联系我。感谢您的帮助。

最佳答案

messaging().onMessage 仅当您的应用处于后台或前台模式时才有效。

如果您想在应用关闭时收到消息,请使用此选项:

messaging()
.getInitialNotification()
.then(remoteMessage => { console.log(remoteMessage) }

关于react-native - 应用程序关闭时无法更新徽章计数 - react native iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62656153/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com