Я сделал что-то подобное.
в firebase будет таблица users
, в которой будут все данные пользователя. Каждый зарегистрированный пользователь будет добавлен сюда.
Каждая группа будет добавлена к groups
объекту с массивом членов, который будет указывать на идентификатор пользователя в пользовательской таблице
groups:{
0: {name:'Group1',members:[3,1,8], image:''},
1: {name:'Group1',members:[3,1,8], image:''},
}
users: {
1: {name:'user1', avatar:''},
2: {name:'user2', avatar:''},
}
И вы правы, выбирайте правильную структуру БД, когда вы проектируете базу / камин. Приведенный мною пример - просто псевдокод, который вам нужно применить в вашем проекте.
Я могу помочь со ссылками на Github, которые используют firebase. просто запустите его, как только вы увидите структуру данных, которую они используют для лучшей реализации.
https://github.com/FirebaseExtended/firechat
https://github.com/chat-sdk/chat-sdk-android
https://github.com/AleBarreto/FirebaseAndroidChat