我正在使用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的唯一值)
谢谢
答案 0 :(得分:0)
所以我现在的问题是这种解决方案是否还可以?
是的。由于此解决方案有效并且可以帮助您完成工作,因此它是一个非常好的解决方案。您可能想知道,还有更好的吗?
对于如何识别应用程序中的消息,没有更好或完美的解决方案。最好的解决方案是适合您的需求并使您的工作更轻松的解决方案。而且我个人认为这不是比您满意的解决方案更好的解决方案。
或有关应用聊天消息标识符的任何建议?
由于它是一对一的聊天应用程序,因此可以轻松地识别包含消息的“聊天室”。您只需在fromUidtoUid
或toUidfromUid
引用上附加一个侦听器,就是这样,您得到了两个用户之间对话的所有消息。