Tôi đã tạo một cuộc trò chuyện chỉ với 1 phòng, tin nhắn riêng tư, kiểm duyệt và mọi thứ ngay bây giờ và tất cả đều hoạt động tuyệt vời! Trong khi tôi đang thử trò chuyện, tôi nhận ra rằng tất cả các tin nhắn được gõ trong cuộc trò chuyện đã được lưu và nếu bạn có nhiều người sử dụng trò chuyện, nó sẽ chiếm rất nhiều không gian trong Firebase của bạn.Trò chuyện Firebase - xóa các tin nhắn cũ
Để cung cấp cho bạn một ví dụ về những gì tôi đang tìm kiếm, hãy để tôi chỉ cho bạn cách tôi xử lý các thông điệp tin:
Khi John gửi một thông điệp tới Bob, thông điệp sẽ được thêm vào cả John và danh sách Bobs các thông điệp riêng, như thế này:
/private/John <-- Message appended here
/private/Bob <-- Message appended here
Đây là một ví dụ về cách các căn cứ hỏa lực sẽ nhìn với 2 tin nhắn trong chat, và 2 tin nhắn:
{
"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",
}
}
}
}
và cùng đi theo cách khác. Bây giờ nếu Bob ở đâu để ngắt kết nối, danh sách thư cá nhân của Bob sẽ bị xóa, nhưng John vẫn có thể xem cuộc trò chuyện của anh ấy với Bob vì anh ấy có một bản sao của tất cả các thư trong danh sách của anh ấy. Nếu sau đó John ngắt kết nối sau Bob, Firebase sẽ được làm sạch và cuộc hội thoại của họ không còn được lưu trữ nữa.
Có cách nào để đạt được điều gì đó như thế này với trò chuyện chung không? Việc đẩy thư đến tất cả người dùng đang sử dụng trò chuyện dường như không phải là giải pháp tốt (?). Hoặc là nó có thể bằng cách nào đó làm cho Firebase chỉ giữ 100 tin nhắn mới nhất chẳng hạn?
Tôi hy vọng điều đó có ý nghĩa!
Trân trọng
Ps. Cảm ơn rất nhiều vì nhóm Firebase đã giúp tôi rất nhiều, tôi thực sự đánh giá cao điều đó.
Bạn có thể chia sẻ truy vấn để nhận danh sách các tin nhắn trò chuyện riêng tư giữa kiểm tra và Test2 và sắp xếp chúng theo thời gian không? – Nikhil