ios – 使用Firebase的公共聊天室(建议请求)

我想在我的应用程序中集成一个公共聊天室,但是我无法创建后端.

我的应用程序使用firebase,两个用户或一组用户之间的设置很简单.我根据Firebase中的参考点创建一个私人房间,允许该组中的用户访问消息.

现在让我说我在洛杉矶,我希望用户能够与距离他们的位置1英里半径的其他用户聊天(lat / lng).我知道它的可能性,因为有一个应用程序,这可以在https://itunes.apple.com/sg/app/popcorn-messaging/id718416705?mt=8找到.

只要你想知道我所尝试过的内容,请阅读以下内容.这可能有点混乱

我想到这样做的一个方法是在全世界建立一个英里间距的聊天室.例如,从lat开始:0,lng:0,然后向右移动一英里,等等,但是更好的损害.我将有数百万个聊天室,而不是全部使用.

第二种方式,我认为我可以实现的是创建聊天室,如果它不存在于用户半径内.所以如果我在洛杉矶,而且没有聊天室,那么它会在那个位置创建一个,并且说如果另一个人去洛杉矶,因为在1英里的位置已经建立了一个聊天室,它将加载该用户的聊天室.

任何建议将不胜感激.

解决方法

如果你确定你希望它是1英里1英里或任何类型的设定距离,我认为世界上预定义的聊天室距离一英里是更好的选择.对于添加新用户并避免人们移动位置时的重叠,这将变得简单得多.如果您使用firebase,并且正确地平坦化了数据,那么空房间不会伤害自己.

我可能不这样做的唯一原因是,如果您担心聊天室变得太满或太空.我不知道这是否是您的应用程序的关注,但这肯定会是预定义位置的缺点.即使这样,您可以根据房间中有多少人使用预定义的位置并缩小(拆分房间)或扩大(合并房间).

希望这可以帮助.如果您正在寻找更多的方向,可以再多告诉我们您的申请?

更新:我看到你在说什么经过进一步的思考,我仍然认为预先确定的领域是最好的方式.即使您自发创建新的区域,仍然会有一点需要拆分房间(绘制房间之间的边界)和该行两边的用户,即使它们彼此相邻,也将是在不同的房间.

如果它只是基于lat / lng和围绕这些用户的半径,那么也可能会产生奇怪的结果.例如,如果用户B位于具有用户A和C的房间中,但是用户A和C彼此之间的距离太远,则可能会看到一些非常奇怪的聊天消息.例如,如果该半径为1英里,则用户A可能处于Mile 0,用户B可能处于Mile 1,用户C可能处于Mile 2.所以对于用户A(谁只能看到用户A和用户C) “聊天可能看起来像这样:

User A: Hello there! What is 2+2?
User B: 4
User A: Thank you!
User B: George Washington
User A: What?!?!

对于用户B(谁是唯一一个会看到所有消息的人),它可能如下所示:

User A: Hello there! What is 2+2?
User B: 4
User A: Thank you!
User C: Who was the first president of the United States?
User B: George Washington
User C: Thank you!
User A: What?!?!

对于用户C(谁只能看到用户B和用户C)可能看起来像这样:

User B: 4
User C: Who was the first president of the United States?
User B: George Washington
User C: Thank you!

似乎这样可能很快就会失控.毕竟,我认为我原来的建议仍然是最好的,但我认为他们都会有挑战.祝你好运!

以上是来客网为你收集整理的ios – 使用Firebase的公共聊天室(建议请求)全部内容,希望文章能够帮你解决ios – 使用Firebase的公共聊天室(建议请求)所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。