Id喜欢在两个自定义用户之间聊天。 我需要向自定义用户发送消息。 情况:
有可能做到吗?我必须使用Firebase Admin + FCM还是其他工具?
答案 0 :(得分:0)
[在此处为您提供简单的指导和逻辑]
最简单的实现方法之一是使用 Cloud Firestore 。
您需要创建 2个表,一个用于users
,另一个用于chat
。用户将用于存储用户信息,包括 UID ,电子邮件,朋友(数组,用于存储朋友列表),< em> chats (数组,用于存储聊天列表),等等。而聊天将用于存储所有聊天。 (您可以设计自己的数据库,可以找到一些指南here)
当用户使用Firebase Auth登录时,您可以查询数据库以从Firestore获取详细信息。假设您将所有内容都放在某个UI元素(recyclerview
)中,则单击用户的朋友(朋友存储在上述Cloud Firestore中)后,将在聊天数据库/表中创建一个新的聊天文档,并且在用户表/数据库中的另一个用户(用户2)文档记录下,使用新的文档ID更新聊天数组。对于User 2 UI界面,将创建/更新新的聊天记录,因为Firebase具有类似onChangeListener()之类的内容来更新您的客户端。
您将需要为聊天设计UI,以允许用户发送消息。 UI将需要从聊天文档中获取所有聊天记录。当任何一方发送新消息时,请将其更新为聊天文档。
所以基本上这是一个粗略的主意,您可以从Firebase Doc获取所有这些引用。
有关通知,您可以使用Firebase Cloud Messaging通知用户!
文档中规定的FCM的实际功能:
使用FCM,您可以通知客户端应用新电子邮件或其他数据正在 可同步。您可以发送通知消息来吸引用户 重新参与和保留。对于即时消息等用例, 一条消息最多可以将4KB的有效负载传输到客户端应用程序。
因此,对于某些事件,它不是针对用户的,而是针对应用程序管理员的用户。
对于Admin,建议不要一直为生产消费者应用程序调用Admin。
P / s:我不是随便喂代码,而是鼓励人们学习自己的研究。
希望有帮助!