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