Менеджер уведомлений для iOS

Цена договорная
26 ноября 2019, 15:17 • 3 отклика • 52 просмотра
Необходимо реализовать менеджер уведомлений, который будет работать с удаленными входными данными (динамическими).

Получаем список сообщений от сервера:
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"

Их нужно прислать пользователю в виде уведомлений, с заданным временным интервалом. Пользователь может выключить телефон и включить через 4 часа, но если он остановился на "D", следующее уведомление он должен получить "E". Приложение может львиную долю времени не получать обновления от сервера, но при этом отрабатывать то, что осталось в локальном хранилище.

В общем (простом) виде решение задачи выглядит так:
- Есть входные данные для менеджера, которые получаем из сети.
- Получили их - сохранили где-нибудь.
- Далее - создаем локальное сообщение c ближайшим временем (в зависимости от заданного интервала), ставим ему флажок (background), чтобы сообщение было не видно юзеру.
- По его срабатыванию приложение "просыпается".
- По возможности получает данные от удаленного сервера (можем быть оффлайн), если они есть - обновляет сохранённые.
- Смотрит в сохраненных данных, нужно ли показать сообщение (удаляет неактуальные), показывает если надо сообщение
- Далее снова ставит локальное сообщение с флагом бекграунд.