В настоящее время я создаю приложение Android для своего веб-сайта и хочу реализовать определенную функцию для своего приложения. Вот краткое описание:
В настоящее время на моем сайте есть так называемые «Объявления» (это простые сообщения, которые могут быть отправлены через панель администратора одним из администраторов). Пользователь, который входит в систему через веб-сайт, может просматривать эти объявления и, следовательно, читать их содержимое.
В моем приложении я также могу просматривать эти объявления и читать содержимое, но я бы также люблю уведомлять моего пользователя о любом новом уведомлении, как только оно появляется. Однако здесь я сталкиваюсь с проблемой.
Из-за того, что на веб-сайте нет API для приложений, мое приложение в основном получает XML данные объявления, а затем анализирует их на данные внутри приложения, а затем я могу показать данные пользователю внутри приложения, то же самое можно сделать для уведомлений. Используя Диспетчер работ, я могу запланировать период c работы с 15-минутной (минимальной) задержкой, а затем показывать каждый раз, когда было опубликовано какое-либо новое объявление, сравнивая идентификаторы объявлений в моем приложении.
Как видите, это очень хлопотный и не очень удобный способ справиться с этим, более того, 15 минут - это очень большая задержка в моем случае, и мне нужно, чтобы пользователь получил это уведомление в приложении, как только администратор разместит его на веб-сайте.
Что я думаю, было бы хорошей реализацией в этом случае:
- Вместо того, чтобы отправлять HTTP-запрос каждые 15 минут на сервер, android приложение должно иметь слушателя, который наблюдает содержание «объявлений» моего веб-сайта
- Имея это в виду, веб-сайт должен иметь некоторые виды прослушиваемых контейнеров, в которых хранятся эти объявления
- Как только содержимое «объявлений» изменится, мое приложение получает "Объявления" и после некоторых дополнительных действий отображает их как уведомления
И здесь я сталкиваюсь с проблемой, так как я не уверен, как именно и что именно я должен использовать как для веб-сайта, так и для приложения android, чтобы добиться такого поведения. Пожалуйста, укажите мне правильное направление здесь.