Значок ios 13,3 не сброшен - PullRequest
0 голосов
/ 30 марта 2020

(извините за мой плохой Энгли 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 все в порядке (увеличение, сброс)

Я не знаю, откуда именно проблема, но если у вас есть идея ...

...