Можем ли мы избежать отображения push-уведомлений - PullRequest
0 голосов
/ 13 сентября 2018

Существует сценарий, в котором мне нужно проверить, должен ли пользователь получать push-уведомления в зависимости от его местоположения. Мне известно, что UNNotificationServiceExtension помогает нам перехватить уведомление и способствует созданию push-контента. Но возможно ли для этого класса или для чего-либо еще, что мы не отображаем push-уведомление, проверяя местоположение пользователя?

Это не значит, что я хочу делать это каждый раз. Но только когда мое условие не выполнено. В уведомлении я получаю последнее отслеживаемое местоположение пользователя, которое я буду использовать для сравнения с текущим местоположением пользователя.
Я прошел это , но не получил убедительного ответа.
Примечание : я не ищу решение для тихого push-уведомления.

1 Ответ

0 голосов
/ 13 сентября 2018

С помощью UNUserNotificationCenter вы можете отменить одно уведомление по идентификатору.

UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: [SomeID])

Вам нужно будет внедрить UNUserNotificationCenterDelegate и внедрить userNotificationCenter(_:willPresent)

Что-то вроде:

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        let identifier = notification.request.identifier
        let content = notification.request.content
        //your logic here
    }
...