⏩Última mensagem enviada
Aqui eu vou mostrar como fiz o uso do Map Metadata existente no document de chats, o que eu fiz, e como eu fiz.
O principal que eu vou fazer que utilizei aqui foi o controle de última mensagem enviada em um chat.
O document de Chat já possui uma propriedade que é para ser utilizado nesse caso, porém para que ela de fato funcione, deveria ser criado algumas functions, que ficassem escutando cada envio e atualizando esta variável.
Nesse exemplo, vou mostrar uma maneira de gerenciar isso apenas pelo app.
Após fazer o envio da mensagem para o chat, na mesma função, eu envio um update para este chat, da seguinte maneira:
metadata = metadata?..['lastMessageSent'] = message;
Nesta parte acima, eu mando para a função qual o valor do metadata do chat, e apenas faço a atualização dele, alterando uma prop de nome lastMessageSent, e então faço o update do chat.
FirebaseChatCore.instance.updateRoom(
types.Room(
id: chatRoomId,
type: types.RoomType.direct,
users: users,
metadata: metadata,
),
);
Sendo necessário apenas passar qual o id do chat, o type, a lista de usuários que fazem parte deste chat e o novo metadata.
Com isso, quando estou na listagem dos chats, consigo acessar esta varíavel da seguinte maneira:
room.metadata?['lastMessageSent'].toString();
Last updated