Я создаю приложение, которое использует прекрасный API-интерфейс Urban Airship для отправки push-уведомлений пользователя.
Приложение отслеживает даты событий, которые добавляются в приложение пользователем.
Это означает, что у меня нет сервера для работы с push, само приложение просто
планирует push-уведомление с Urban AS, когда пользователь добавляет дату и время события.
Если пользователь решает удалить событие до того, как оно произойдет, я отменяю его в Urban AS. Все хорошо. Однако я не хотел бы отправлять уведомления пользователю, который отключил уведомления, поскольку эти уведомления не являются бесплатными:)
Я знаю, что API push-уведомлений от Apple гарантирует, что пользователь не получит никаких уведомлений, если они отключили их в настройках. Они будут просто игнорировать запланированные уведомления, которые отправляет Urban AS, что является пустой тратой пропускной способности и денег.
Как узнать, отключил ли пользователь уведомление для моего приложения?
Кроме того, я не вижу другого варианта, кроме как проверить, отключил ли пользователь уведомление, а затем сказать Urban AS об отмене всех уведомлений, и, если пользователь снова включит их, мне придется пройти через все события и перепланировать их: / каждый раз, когда приложение запускается.
Может ли кто-нибудь придумать, как мне не нужно заполнять мой appDelegate всеми видами условного кода для тестирования этих сценариев? Например. пользователь отключил push с последнего запуска приложения, пользователь включил их с последнего раза. Я также обеспокоен, поймет ли пользователь это поведение?
Полагаю, я просто прошу немного лучшей практики с этой настройкой push / Urban Airship :)
Спасибо.