如何在Firebase中为两个用户创建相互推送键

时间:2017-11-23 18:17:06

标签: android firebase

我正在开发一款聊天应用。我想像Whatsapp一样创建群组和直接消息。但是如何为两个用户创建一个相互(相同)的密钥?例如,假设我有2个用户,即用户A和用户B.如果为两个用户创建一个共同密钥,我的数据结构如下所示:

  • 火力地堡
    • 直接留言
      • 用户A和用户B的相互关键字
        • 按键1
          • id:用户A
          • message:hello
        • 按键2
          • id:用户B
          • 消息:thnks A,你好吗?
        • 按键3
        • 按键4
        • ...

2 个答案:

答案 0 :(得分:0)

您无法为两个不同的用户推送相同的ID。 push()方法为单个用户生成唯一ID。所有推送ID都完全在客户端生成,无需咨询服务器或其他设备。要解决这个问题,需要改变构建数据库的逻辑。而不是那样,我重新命令你创建一个用户可以订阅的聊天组。通过这种方式,您不需要创建两个相同的推送ID,您只需要创建一个,用户将成为该聊天组的一部分。

希望它有所帮助。

答案 1 :(得分:0)

Firebase支持"将消息发送到主题",它可能对您有所帮助。 创建一个群聊室,并将群组聊天室名称用作"主题"名称。 当您向聊天室中的用户发送消息时,您可以使用"主题"名称。 请查看以下网址:https://firebase.google.com/docs/cloud-messaging/android/topic-messaging