Как отправлять push-уведомления в веб-приложение и браузер?

У меня есть база данных, в которую я вставляю и отправляю данные с помощью java. Поэтому я хочу отправлять push-уведомления с помощью java в свое веб-приложение и получать их в javascript.

Я также хочу отправить push-уведомление в свой браузер. Есть ли простой способ сделать эти две вещи? Я пытался в течение нескольких дней, но я не нашел хорошо объясненного учебника, который я могу понять.

Заранее спасибо.


person E.Volt    schedule 14.11.2017    source источник


Ответы (3)


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

По сути, он открывает TCP-канал между браузером (javascript) и сервером. Сообщения могут быть записаны в сокет, получены и обработаны браузером.

Старое, но хорошее введение: https://www.html5rocks.com/en/tutorials/websockets/basics/

Единственной другой альтернативой было бы выполнение либо опроса с различными интервалами с использованием javascript, либо длительного опроса. У обоих есть проблемы, особенно на большой громкости. Веб-сокеты позволяют более эффективно использовать сеть.

person Chris    schedule 14.11.2017

Если вы хотите отображать уведомления когда пользователи просматривают ваш веб-сайт, вы можете:

  1. Получайте уведомления с вашего сервера: вы можете использовать WebSockets , SSE или длительный опрос с помощью Fetch API или AJAX.
  2. Отображать уведомление пользователю: вы можете использовать HTML и CSS или использовать API уведомлений.

Если вы хотите отображать уведомления или обрабатывать push-события, даже когда ваш веб-сайт закрыт (например, собственные приложения), вам необходимо использовать более продвинутые технологии. Особенно:

  1. вам нужно использовать Push API, чтобы отправить сообщение с вашего сервера в браузер
  2. событие push, сгенерированное с помощью API Push, активирует обратный вызов в сервис-воркере
  3. сервисный работник обрабатывает событие и отображает уведомление с помощью Notification API

Для веб-пуша рекомендую Pushpad (я его основатель), чтобы не создавать с нуля. Он также имеет библиотеку Java.

person collimarco    schedule 14.11.2017

Короче говоря, нет. Не обязательно «простой» способ сделать это. Большинство браузеров обрабатывают push-уведомления по-разному, и что касается отправки push-уведомлений в ваше веб-приложение, вам следует поискать реализацию RESTful, и как только вы это настроите, всякий раз, когда данные передаются в веб-приложение, вы сможете их захватить. и отправить / получить любое уведомление, которое вы хотите.

Я бы посоветовал изучить Firebase, так как у них довольно хорошая реализация push-уведомлений.

person Brandon Miller    schedule 14.11.2017