我正在构建一个实时更新的消息传递应用程序。到目前为止,我可以使用谷歌登录并发布消息,然后该消息显示在屏幕上。但是,如果我通过另一个谷歌帐户登录(该应用程序托管在heroku上)并以用户B的身份发布消息,则用户A不会在其屏幕上看到此消息,直到他们刷新页面为止。什么是实时更新所有屏幕的最佳方式,以便人们可以实时进行对话。
每条消息都会发布并存储在firebase中。到目前为止,我唯一的解决方案是使用javascript setInterval
方法并每隔3-5秒从数据库中提取一次。这有效但它导致应用程序变得非常缓慢和滞后,并且经验不佳。欢迎提出任何指示/提示
答案 0 :(得分:1)
您正在使用Firebase,其主要功能之一是实时数据库。如果您的JSON数据库中有任何更改,Firebase会自动通知您。您无需以间隔基本发送请求。
您可以参考Zero to App: Develop with Firebase - Google I/O 2016这也是Google Guys的消息应用演示。
您可以在Github中找到sample source code来实时发送和接收消息。
答案 1 :(得分:0)
有很多方法可以做到这一点。通常,一旦有新消息进入,您就会希望服务器收到通知,而不必每隔X秒ping一次服务器。
你可以看看这些:
这应该引导你朝着正确的方向前进。