Android,API服务器和Firebase数据库的关系

时间:2018-10-18 03:20:39

标签: android laravel firebase firebase-realtime-database

所以我有一个正在开发的项目,它是一个Android应用程序,它提供了从API服务器(Laravel 5.x)中获取的信息,还提供了实时聊天功能

我不确定该如何处理实时聊天功能。当前,这是聊天系统的工作方式(请记住,还有一个Web App提供了我愿意更改的相同功能):

  1. 用户键入chat并将其发送。客户端(Android应用程序或Web应用程序)将其发送到API服务器。然后将其保存到数据库中。
  2. 然后,API服务器(连接到mysql数据库服务器)基于另一个用户的配置发送电子邮件/通知。
  3. 当另一个用户打开聊天时,它将每3秒调用一次API服务器(连接到mysql数据库服务器),询问是否有更新。
  4. 如果有,(Android应用程序或Web应用程序)将显示新聊天记录。

现在我首先知道这效率不高,性能不佳等。

现在,我想尝试使用Firebase数据库进行实时聊天。

现在,由于某些旧版Android应用程序需要花费很长时间进行工作,因此我真的想使用API​​服务器在我自己的数据库中记录和存储聊天信息。

这是更好的方案:

  1. Android应用直接将新的聊天信息发送到Firebase数据库
  2. Android应用会将新的聊天信息发送到API服务器。然后,API服务器将其发送到Firebase数据库
  3. 有没有更好的方法做到这一点

那么哪种方法更好呢?

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用Firebase Firestore。听起来这将解决两全其美的问题。 Nosql json存储格式非常适合聊天应用程序。此外,数据是“实时的”,因此它将松动以进行更改并更新用户端数据。为您节省3秒的通话资源。上次我检查了它是否仍处于beta版,但我用它来制作一个应用程序,使您可以创建加号池和实时池,并且运行起来非常流畅。确实需要花一点时间。