Я создаю приложение для социальных приложений iOS, такое как Facebook. В настоящее время я планирую использовать push-уведомления для обновления чего-либо в приложении, если есть новые данные. Обновления, такие как значок панели вкладок, добавляющий номер, если есть новый запрос друга или сообщение. Однако, что, если пользователь отключает push-уведомления? Как пользователь получит эти обновления?Что такое эффективный способ автоматического получения обновлений из API отдыха без push-уведомлений?
Мои предлагаемые решения:
- Для запуска таймера в фоновом режиме, что опрашивает сервер обновлений.
- Примените некоторое нажатие для обновления функции.
Моя проблема с первым заключается в том, что он может в значительной степени использовать ресурсы, особенно в сети, непрерывно.
Второй вариант заключается в том, что обновления будут доступны только тогда, когда будет выполнено обновление для обновления.
Есть ли другой способ получить обновления/новые данные эффективно, как только они будут доступны?
Возможно, вы можете отправить количество уведомлений в каждом ответе от api (как дополнительная строка для каждого запроса GET). И если notificationAmount> 0, то вы можете вызвать метод, как «getNotifications» из вашего API. –
Firebase имеет обмен сообщениями FCM, который работает, даже если пользователь не разрешил push-уведомления, только когда приложение находится на переднем плане и для iOS 10+. Еще один возможный подход, но я не очень хорошо знаю, как он будет работать с большими нагрузками - это протокол MQTT для реализации двунаправленной связи. –