我想在我的使用react-native + expo构建的应用程序中实现一个真实的聊天功能,并且我试图用推送通知+ firebase数据库创建一个自制的聊天功能,但结果低于我的期望。 ,加载速度非常慢,我的应用崩溃了,并产生了很多错误。我无法发布性能不佳的应用。
我需要找到一个更好的解决方案。
我已经检查过pubnub chat engine
和pusher chat kit
,但是我找不到一个问题的答案:如何制作(分页显示)每个频道(会话)以便制作whatsapp-例如收件箱视图,其中列出了我所有带有未读徽章的最近对话,并显示了最后一条消息和用户照片等。
有人可以建议我如何组织此活动吗?
谢谢。
答案 0 :(得分:0)
基本上有两个部分:每个用户的收件箱列表和实时聊天。
收件箱列表存储在本地应用(可能是sqlite)中。您可能有一个表消息,其中包含:message_id,发件人,message_text,received_time,read_time。 ..
可以通过发布和订阅MessageQueue来实现简单的实时聊天。
每个应用程序(用户)在连接到服务器时都会订阅自己的主题。当服务器收到新消息时,它将检查接收方是否在线,如果是,则将消息直接发布到其主题。客户端应用程序已订阅,因此将收到消息,并将消息存储在本地。未读徽章在本地进行跟踪。
对于消息队列,您实际上只能使用云服务。 AWS具有ActiveMQ和IoT消息代理。通过Websocket上的MQTT进行通信。