反应本机通知Websockets v / s Firestore侦听器v / s SSE

时间:2020-04-17 12:54:37

标签: firebase react-native websocket google-cloud-firestore server-sent-events

我正在使用react native开发一个移动应用程序。我的后端应用程序是使用springboot开发的。我的应用使用REST与后端对话。
我想从我的后端向应用程序的用户发送一些通知(通过下面提到的选项之一)。这不能是推送通知,因为用户可以为我的应用禁用推送通知。
收到此通知后,应用程序将使用rest api与后端进行通信,以获取更多详细信息并完成交易。

我想知道哪种更好的策略为用户发送通知。

  1. Websockets
  2. 使用Firestore事件监听器(因为我已经在使用Firebase向启用了该功能的用户发送推送通知)
  3. SSE(服务器发送的事件)
  4. 从应用程序到后端的定期轮询(我不喜欢这种方法)

我知道这是一个广泛的话题。我只需要指出一些指示,就容错性,性能和可伸缩性而言哪个选项更好。
我想知道这通常是如何实现的。我是应用开发的新手。

2 个答案:

答案 0 :(得分:1)

我认为Firebase是移动应用程序的最佳选择,websocket可以被android关闭,并且并不总是可控的。它们还消耗大量能量,可能会耗尽手机电池。

答案 1 :(得分:1)

对于需要发送通知的项目,无论使用诸如Firebase之类的第三方应用程序,我都有相同的要求。我将如何与您分享这一点,也许会对您有所帮助。

后端-> ASP.NET Core

实时通信-> SignalR Core

协议-> Websocket,服务器发送的事件,长缓冲

RN软件包-> react-native-push-notification

这完全没问题,但有一个缺点,即它仅在应用程序运行时(后台/前景)仅进行通信并发送推送通知,我认为这取决于您的情况以及您对应用程序的要求是否会持续存在于主应用程序中。适用于您,否则您需要使用Firebase等第三方服务,并且在您的应用未运行时也可以使用,只需连接互联网即可。