Stworzyłem czat z tylko 1 pokojem, wiadomościami prywatnymi, moderacją i wszystkim teraz i wszystko działa świetnie! Podczas testowania czatu zdałem sobie sprawę, że wszystkie wiadomości zapisane na czacie zostały zapisane, a jeśli korzystałeś z czatu przez wiele osób, bardzo szybko zajęłoby to dużo miejsca w bazie Firebase.Czat Firebase - usuwanie starych wiadomości
Aby dać przykład tego, co szukam, pozwól mi pokazać, jak sobie radzić w wiadomości:
Kiedy John wysyła prywatną wiadomość do Boba, wiadomość zostanie dodany zarówno do Jana i listy Bobs prywatnych wiadomości, tak:
/private/John <-- Message appended here
/private/Bob <-- Message appended here
jest to przykład tego, jak będzie wyglądać z Firebase 2 wiadomości na czacie i 2 prywatne wiadomości:
{
"chat" : {
"516993ddeea4f" : {
"string" : "Some message here",
"time" : "Sat 13th - 18:20:29",
"username" : "test",
},
"516993e241d1c" : {
"string" : "another message here",
"time" : "Sat 13th - 18:20:34",
"username" : "Test2",
}
},
"private" : {
"test" : {
"516993f1dff57" : {
"string" : "Test PM reply!",
"time" : "Sat 13th - 18:20:49",
"username" : "Test2",
},
"516993eb4ec59" : {
"string" : "Test private message!",
"time" : "Sat 13th - 18:20:43",
"username" : "test",
}
},
"Test2" : {
"516993f26dbe4" : {
"string" : "Test PM reply!",
"time" : "Sat 13th - 18:20:50",
"username" : "Test2",
},
"516993eab8a55" : {
"string" : "Test private message!",
"time" : "Sat 13th - 18:20:42",
"username" : "test",
}
}
}
}
i to samo dzieje się na odwrót. Teraz, jeśli Bob ma się rozłączyć, lista prywatnych wiadomości od Bobsa zostaje usunięta, ale John nadal widzi swoją rozmowę z Bobem, ponieważ dostał kopię wszystkich wiadomości na swojej liście. Jeśli John rozłączy się po Bobie, baza Firebase zostanie wyczyszczona, a rozmowa nie będzie już przechowywana.
Czy istnieje sposób na osiągnięcie czegoś takiego przy czacie ogólnym? Przesyłanie wiadomości do wszystkich użytkowników korzystających z czatu nie wydaje się dobrym rozwiązaniem (?). Czy może w jakiś sposób sprawić, że Firebase będzie przechowywać tylko 100 najnowszych wiadomości?
Mam nadzieję, że to ma sens!
Z pozdrowieniami
Ps. Wielkie dzięki dla zespołu Firebase za wszelką pomoc, naprawdę to doceniam.
Czy możesz podzielić się zapytaniem o uzyskanie listy prywatnych wiadomości czatu między testem a Test2 i zamówić je z czasem? – Nikhil