Должен ли я использовать push или я могу использовать локальное уведомление?
У меня есть приложение Cordova для Android и iOS, которое входит в базу данных sqlite, когда пользователь последний раз открывал приложение. Эти данные также отправляются в удаленное хранилище.
Я хочу предупредить пользователя, что он не открыл приложение в течение x дней, и сделать это.
Для Android это было довольно просто; Я только что запланировал повторение AlarmManager, запросил базу данных и показал уведомление, если последняя открытая дата была больше, чем день назад.
Похоже, что для iOS это не так просто, как, кроме запланированных локальных уведомлений, кажется, что нет доступных длительных фоновых задач или чего-то похожего на Broadcast Receiver.
Правильно ли я считаю, что для iOS мне нужно будет рассчитать, сколько времени прошло с тех пор, как пользователь последний раз открывал приложение на моем удаленном сервере хранилища данных, а затем отправлять оповещение в приложение с помощью push-уведомления?
Или можно запланировать локальное уведомление, а затем выполнить некоторые вычисления, чтобы решить, показывать ли себя?
1 ответ
Задача проста для обеих платформ с помощью локального уведомления:
Когда пользователь запускает или возобновляет приложение, вы делаете расчет даты и времени и заранее определяете, когда должно появиться уведомление. Вот и все.
При следующем запуске / возобновлении работы приложения вы удаляете старое уведомление и устанавливаете новый параметр для следующего.
Я делаю аналогичную задачу с этим плагином: https://www.npmjs.com/package/de.appplant.cordova.plugin.local-notification