не показывать уведомление об уведомлении, пока приложение находится на переднем плане - PullRequest
0 голосов
/ 05 мая 2018

Привет! Я использовал этот UNUserNotificationCenterDelegate, чтобы избежать уведомления о предупреждении, когда приложение находится на переднем плане с этой функцией

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler  API_AVAILABLE(ios(10.0)){
    completionHandler(UNNotificationPresentationOptionAlert);
}

но я получаю уведомление как с опцией Alert, так и с баннером как удалить оповещение, когда приложение находится на переднем плане?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Я нашел, как исправить, есть опция для одного сигнала init, чтобы не показывать предупреждение

[OneSignal initWithLaunchOptions:launchOptions appId:@"YOURE_KEY" handleNotificationReceived:nil handleNotificationAction:nil
                            settings:@{kOSSettingsKeyInAppAlerts:@NO}];

и для показа в качестве баннера необходимо добавить этот код

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler  API_AVAILABLE(ios(10.0)){
    completionHandler(UNNotificationPresentationOptionAlert);
}
0 голосов
/ 05 мая 2018

Вы должны применить условие в методе willPresent, чтобы проверить состояние приложения, и если State является UIApplecationStateForeGround, то ничего не делать, иначе они следуют UNNotificationPresentationOptionAlert.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...