Android中的WhatsApp克隆以获取消息标识符

时间:2018-09-21 05:25:55

标签: android firebase firebase-realtime-database kotlin whatsapp

我正在使用firebase处理聊天应用程序消息,例如android中的whatsapp克隆。

现在,该应用程序可以与用户聊天。

我现在的问题是,该消息没有标识另一个用户看到对方的消息。

为了提出解决方案,我将userId和currentUserId合并在一起,以使其成为唯一的消息标识符,因为我正在使用firebase-auth。

所以我现在的问题是这种解决方案是否还可以?或有关应用聊天消息标识符的任何建议?

这是我在ChatActivity中用于检索聊天消息的一些代码

mFirebaseDatabaseRef!!.child("messages").child(mFirebaseUser!!.uid+userId))

这里保存了我为用户设备推送的每条消息的消息

mFirebaseDatabaseRef!!.child("messages")
    .child(mCurrentUserId+userId)
    .push()
    .setValue(friendlyMessage)

mFirebaseDatabaseRef!!.child("messages")
    .child(userId+mCurrentUserId)
    .push()
    .setValue(friendlyMessage)

这是firebase中的示例生成格式(它将同时生成两个来自两个要聊天的userId的唯一值)

enter image description here

谢谢

1 个答案:

答案 0 :(得分:0)

  

所以我现在的问题是这种解决方案是否还可以?

是的。由于此解决方案有效并且可以帮助您完成工作,因此它是一个非常好的解决方案。您可能想知道,还有更好的吗?

对于如何识别应用程序中的消息,没有更好或完美的解决方案。最好的解决方案是适合您的需求并使您的工作更轻松的解决方案。而且我个人认为这不是比您满意的解决方案更好的解决方案。

  

或有关应用聊天消息标识符的任何建议?

由于它是一对一的聊天应用程序,因此可以轻松地识别包含消息的“聊天室”。您只需在fromUidtoUidtoUidfromUid引用上附加一个侦听器,就是这样,您得到了两个用户之间对话的所有消息。