💬Criação/Update de chat
Descrição de como funciona a criação de um chat utilizando este plugin.
Para realizar de fato a criação de um chat, o plugin disponibiliza uma função que funciona de maneira muito simples. Um função que possui como argumento obrigatório apenas o objeto do usuário que vai participar deste chat juntamente com você (quem está criando o chat).
O objeto que é necessário nesta função, é um objeto do tipo User, mas que vem importado do plugin flutter_chat_types. Para seu uso, basta fazer a seguinte importação no arquivo:
import 'package:flutter_chat_types/flutter_chat_types.dart' as types;
E para seu uso:
types.User(
id: 'id_do_firebase_aqui',
),
Vamos agora para a criação do chat em si. Como eu comentei o argumento obrigatório é o User, e você também pode adicionar um argumento de nome metadata, passando quaisquers valores necessários, que você desejar, para te ajudar no desenvolvimento e nas suas necessidades.
await FirebaseChatCore.instance.createRoom(
otherUser,
metadata: {},
);
Após fazer esta chamada, vai ser criado um document no firebase, dentro da collection "rooms", que vai contér os seguintes valores:

createdAt: Data de criação do chat
imageUrl: Você pode adicionar posteriomente uma imagem ao seu chat
lastMessages: Para isso funcionar é necessário criar algumas functions
type: Apenas um valor que já vem direto do plugin (não alterar)
metadata: Objeto do tipo map que pode conter qualquer coisa.
name: Possível nome do chat
updatedAt: Última vez que ocorreu algumas atualização no chat.
userIds: Lista do tipo String que contém o id dos usuários que estão no chat.
E é possível perceber ainda que dentro deste documento, existe uma collection de nome "messages", que vai conter todas as mensagens enviadas dentro deste chat.
Além da criação do chat, podemos realizar o update dele, para alterar algumas destas informações, feito da seguinte maneira:
FirebaseChatCore.instance.updateRoom(
types.Room(
id: chatRoomId,
type: types.RoomType.direct,
users: users,
metadata: metadata,
),
);
Last updated