Реагировать на собственные веб-сокеты уведомлений v / s Прослушиватель Firestore v / s SSE - PullRequest
0 голосов
/ 17 апреля 2020

Я занимаюсь разработкой мобильного приложения с использованием собственного кода. Мое бэкэнд-приложение разработано с использованием Springboot. Мое приложение обращается к бэкэнду с помощью REST.
Я хочу отправить пользователю приложения некоторое уведомление из моего бэкэнда (через один из вариантов, упомянутых ниже). Это не может быть уведомление Pu sh, поскольку пользователь может отключить уведомление pu sh для моего приложения.
При получении этого уведомления приложение будет связываться с бэкэндом, используя rest api для получения более подробной информации и завершения транзакции.

Я хочу знать, что будет лучшей стратегией для отправки уведомления пользователю.

  1. Websockets
  2. Использование прослушивателя событий Firestore (поскольку я уже использую Firebase для отправки Pu sh Уведомление для пользователей, которые его включили)
  3. SSE (сервер отправленные события)
  4. Периоды c опрос из приложения в бэкэнд (мне не нравится этот подход)

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

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

У меня те же требования к проекту, где нужно отправлять уведомления независимо от использования стороннего приложения, такого как Firebase. Как я достигну этого, я поделюсь с вами, может быть, это поможет вам.

Backend -> ASP. NET Core

Связь в реальном времени -> SignalR Core

Протоколы -> Веб-сокет, Отправленные сервером события, Длинный пул

Пакет RN -> response-native-pu sh -notification

Это было совершенно нормально, за исключением одного недостатка, что он будет только общаться и отправлять pu sh уведомление, когда приложение работает (фон / передний план). Я думаю, это зависит от вашей ситуации и ваших требований, если ваше приложение постоянно будет в основном приложении, это будет работать для вас, в противном случае вам нужно использовать стороннюю службу, такую ​​как Firebase, и она также будет работать, когда ваше приложение не работает, просто нужно связано с целым rnet.

1 голос
/ 17 апреля 2020

На мой взгляд, Firebase - лучший вариант для мобильных приложений, веб-сокет может быть закрыт android и не всегда управляем. Они также потребляют много энергии, которая может разрядить аккумулятор телефона.

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