如何使用firebase为多人问答应用程序创建动态空间?

如何使用firebase为多人问答应用程序创建动态空间?,firebase,multiplayer,Firebase,Multiplayer,我正在制作一个应用程序。。我指的是一款游戏类型的应用程序。这是一个测验应用程序,两个人可以 将他们配对,可以逐个回答问题,等等。 我想要的是: 我想做一个虚拟房间, 当用户1想要玩游戏时,他将单击搜索竞争对手,一个玩家将创建一个带有随机字符串键的虚拟房间。 然后,当USER2点击“查找竞争对手”按钮时,他的房间也将被创建,他还将搜索在他之前创建的所有房间,如果任何房间的用户少于2人,他将加入该房间并开始播放。 我是新来的,所以我不确定这是否是个好方法,但这就是我的全部计划。 如何计算我们不知道其

我正在制作一个应用程序。。我指的是一款游戏类型的应用程序。这是一个测验应用程序,两个人可以 将他们配对,可以逐个回答问题,等等。 我想要的是: 我想做一个虚拟房间, 当用户1想要玩游戏时,他将单击搜索竞争对手,一个玩家将创建一个带有随机字符串键的虚拟房间。 然后,当USER2点击“查找竞争对手”按钮时,他的房间也将被创建,他还将搜索在他之前创建的所有房间,如果任何房间的用户少于2人,他将加入该房间并开始播放。 我是新来的,所以我不确定这是否是个好方法,但这就是我的全部计划。 如何计算我们不知道其密钥的节点的子节点。。 见附图


好的开始。在开始编码之前,最好清楚地表达出您想要的内容。听起来你对你想要的东西有一个很好的想法

我建议使用Firestore和firebase.auth,即使只是匿名的,这样每个用户都可以在他们的应用程序中拥有“状态”和统一id。换句话说,当他们关闭并重新打开应用程序时,应用程序会为他们保留一个通用id uid

如果我了解您的要求:

每个用户可以有多个房间 每个房间最多有2个用户 可伸缩性 就搜索现有房间而言,如果不进行一些分类,这将无法进行缩放。如果你有1000个房间怎么办?用户将如何搜索所有这些内容?因此,您可能希望向每个房间添加主题或标签。这样您就可以查询wheretag==chosenTag

基本上,每个虚拟室都有标识2个用户uid的字段,并且有子集合-每个集合都有一个文档

uid将accountCreateDate、favoriteColor和每个房间的uid字段作为键,其中的值将是一个整数,例如1==等待响应,2==关闭,3==任何值

火库结构 userscollection>userUiddocument包含aboce said


roomscollection roomADocument w字段,标识主题/名称和包含每对参与者文档的子集合。

你好,Ron Royston。谢谢你的回答。我不希望多个房间中有一个用户。我想一个用户在一个房间玩,如果他关闭应用程序,然后什么也没有发生,但在用户2侧仍然是在线,将有倒计时,以便用户2等待用户1,如果他没有回答,那么应用程序会认为他的答案是不正确的。我希望这是有道理的。。我认为firestore是用来存储图像和视频等数据的?你能给我推荐一些文章或youtube视频来获得帮助吗?或者任何androidstudio代码示例?事实上,我已经使用firebase使用电子邮件和密码进行注册和登录活动,我也已经创建了MCQ应用程序,但现在我希望它像多人游戏一样。@RashidIqbal firebase用于存储媒体文件。是来自Firebase的新数据库与原始实时数据库。Firestore具有更多功能。因此,创建一个名为Quiques的集合,其中包含Quiques的子文档。也许一种叫葡萄酒,另一种叫鱼。每个测验文档都有一个子集合房间。那可能有用?…我不知道..也许我应该在firestore上搜索并学习如何使用firestore