Мгновенное уведомление в приложении Android на основе изменений веб-данных - PullRequest
0 голосов
/ 09 июля 2020

В настоящее время я создаю приложение Android для своего веб-сайта и хочу реализовать определенную функцию для своего приложения. Вот краткое описание:

В настоящее время на моем сайте есть так называемые «Объявления» (это простые сообщения, которые могут быть отправлены через панель администратора одним из администраторов). Пользователь, который входит в систему через веб-сайт, может просматривать эти объявления и, следовательно, читать их содержимое.

В моем приложении я также могу просматривать эти объявления и читать содержимое, но я бы также люблю уведомлять моего пользователя о любом новом уведомлении, как только оно появляется. Однако здесь я сталкиваюсь с проблемой.

Из-за того, что на веб-сайте нет API для приложений, мое приложение в основном получает XML данные объявления, а затем анализирует их на данные внутри приложения, а затем я могу показать данные пользователю внутри приложения, то же самое можно сделать для уведомлений. Используя Диспетчер работ, я могу запланировать период c работы с 15-минутной (минимальной) задержкой, а затем показывать каждый раз, когда было опубликовано какое-либо новое объявление, сравнивая идентификаторы объявлений в моем приложении.

Как видите, это очень хлопотный и не очень удобный способ справиться с этим, более того, 15 минут - это очень большая задержка в моем случае, и мне нужно, чтобы пользователь получил это уведомление в приложении, как только администратор разместит его на веб-сайте.

Что я думаю, было бы хорошей реализацией в этом случае:

  • Вместо того, чтобы отправлять HTTP-запрос каждые 15 минут на сервер, android приложение должно иметь слушателя, который наблюдает содержание «объявлений» моего веб-сайта
  • Имея это в виду, веб-сайт должен иметь некоторые виды прослушиваемых контейнеров, в которых хранятся эти объявления
  • Как только содержимое «объявлений» изменится, мое приложение получает "Объявления" и после некоторых дополнительных действий отображает их как уведомления

И здесь я сталкиваюсь с проблемой, так как я не уверен, как именно и что именно я должен использовать как для веб-сайта, так и для приложения android, чтобы добиться такого поведения. Пожалуйста, укажите мне правильное направление здесь.

1 Ответ

1 голос
/ 09 июля 2020

То, чего вы хотите достичь, можно сделать с помощью webSockets . Цель webSocket состоит именно в том, чтобы избежать создания множества запросов только для поиска обновлений, вместо этого он создает нечто вроде «бесконечного соединения», которое обновляет ваш интерфейс всякий раз, когда какое-либо событие отправляется с вашего веб-сервера. Вы можете прочитать хорошую статью здесь .

Здесь описывается использование с Laravel и популярным сервисом для управления веб-сокетами без особых проблем Pusher .

Надеюсь, это поможет вам указать правильное направление!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...