gpt4 book ai didi

firebase - 推送通知可以代替 web-socket 吗?

转载 作者:行者123 更新时间:2023-12-04 13:45:16 26 4
gpt4 key购买 nike

我需要在 iOS 和 Android 上开发一个具有实时功能的应用程序:应用程序用户需要定期实时共享代码而无需轮询。

我通常使用 web-socket 来做这件事,并且只对 使用推送通知。附加 通知用户(当应用程序在后台时)。因此,推送通知对应用程序逻辑没有影响(是加分项)。

我的疑问是,我可以完全替换网络套接字通信以支持 Firebase 推送通知(用于接收)+ Rest API(用于发送)吗?
推送通知是否足够可靠?

一般来说,推送通知可以代替 websocket 来实现应用程序逻辑吗?

解决方案 1(网络套接字 + 推送通知)

User A -> App (websocket) -> Server (web socket + push-notification) -> App -> User B

User A <- App <- (web socket + push-notification) Server <- (websocket) App <- User B

解决方案 2(推送通知 + REST API)

User A -> App (rest-api) -> Server (push-notification) -> App -> User B

用户 A <- 应用 <- (推送通知) 服务器 <- (rest-api) 应用 <- 用户 B

最佳答案

事实上这是可能的。但是这个选择有几个严重的缺陷:

  • 首先,推送通知需要用户权限,如果用户阻止推送通知,您将被阻止(在您的示例中,这意味着您的 RestApi 最多将停止工作)并且对于普通用户来说更改此选择并不容易,用户应该去浏览器设置...等。
  • 浏览器支持 WebPush远小于 WebSocket
  • 您的服务器和客户端之间可能存在延迟,因为此类调用的 CallStack 远不止是普通的 WebSocket 连接。非常粗略的方案: YourServer -> PushServer(如 Firebase 推送通知)-> 客户端
    每一步都有很多检查。
  • 关于firebase - 推送通知可以代替 web-socket 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49887205/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com