(извините за мой плохой Энгли sh)
Когда я получаю уведомление, значок ios увеличивается. Когда я запускаю свое приложение и возвращаюсь домой, значок исчезает, но если я получаю новое уведомление, оно начинается не с 0, а с предыдущего номера ...
В моем клиенте во время события открытия в уведомлении я установил значок на 0.
async componentDidMount() {
...
OneSignal.addEventListener('ids', this.onIds)
OneSignal.addEventListener('received', this.onReceived)
OneSignal.addEventListener('opened', this.onOpened)
const chatBadgeNumber = await this.getNumberFromAsyncStorage(CHAT_BADGE_COUNT)
this.setBadgeNumber(chatBadgeNumber)
this.setState({
chatBadgeNumber,
})
}
componentWillUnmount() {
OneSignal.removeEventListener('ids', this.onIds)
OneSignal.removeEventListener('received', this.onReceived)
OneSignal.removeEventListener('opened', this.onOpened)
}
setBadgeNumber = number => {
try {
if (Platform.OS === 'android') {
BadgeAndroid.setBadge(number)
} else if (Platform.OS === 'ios') {
PushNotificationIOS.setApplicationIconBadgeNumber(number)
}
} catch (e) {
// if iOS app is in background, app crash
}
}
onReceived = async notification => {
const { chatBadgeNumber } = this.state
...
const { increaseBadge } = notification.payload.additionalData
if (increaseBadge === 'CHAT') {
this.setChatBadgeNumber(chatBadgeNumber + 1)
}
...
}
onOpened = async notification => {
const { increaseBadge } = notification.notification.groupedNotifications
if (increaseBadge === 'CHAT') {
this.setChatBadgeNumber(0)
...
}
...
}
}
В моем AppDelegate.m тоже:
- (void)applicationDidBecomeActive:(UIApplication *)application{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
- (void)sceneDidBecomeActive:(UIScene *)scene{
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
"@ response-native-community / pu sh -notification- ios ":" ^ 1.1.0 "," Reaction-native-onesignal ":" ^ 3.5.0 ",
Вкл. IOS 12, сброс OK, увеличение KO (одна проблема за раз. .) На Android все в порядке (увеличение, сброс)
Я не знаю, откуда именно проблема, но если у вас есть идея ...