Как я могу синхронизировать чат-сообщение с двумя людьми, использующими облачный пожарный магазин во флаттере? - PullRequest
0 голосов
/ 28 марта 2019

Я внедряю приложение чата и использую облачный пожарный магазин в качестве базы данных для множества сообщений чата. Однако, если я создаю поток для прослушивания чата получателя, он так медленно обновляет пользовательский интерфейс в представлении отправителя, потому что он синхронизируется с представлением получателя.

Поэтому я попытался немедленно обновить представление отправителя и лениво обновить представление получателя сервером. Но это приводит к проблеме отсутствия синхронизации с двумя сообщениями чата. Есть ли способ реализовать технику синхронизации?

  1. Обновление представления отправителя в сообщении получателя
/// Uupdate by Stream, so it is slow
chatRoomListSubscriptions[otherUser.uid] = chatRoomListServer[otherUser.uid].listen((snapshot){
  if(snapshot.documentChanges.isNotEmpty) {
    _updateChatHistory(otherUser, chatRoomID, snapshot);
  }
});
  1. Обновление представления отправителя в сообщении отправителя (себя)
/// Update by friendsChatBloc
friendsChatBloc.emitEvent(FriendsChatEventMessageSend(
  content: messageController.text,
  receiver: widget.receiver.uid,
  chatRoomID: widget.chatRoomID
));

Как мне синхронизировать два чата и быстро обновить вид отправителя? Спасибо.

...