Buscar pacotes, repositórios e categorias de apps

Capa de apptex_chat
Detalhes do pacotev2.0.0

apptex_chat

Este pacote é para tornar o sistema de bate-papo mais fácil e amigável ao usuário, além de controlar as funcionalidades do bate-papo com um único clique.

Downloads em 30 dias
81
Curtidas
15
Pontos Pub
60

Instalar pacote

flutter pub add apptex_chat

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Apptex Chat é um pacote Flutter projetado para simplificar a implementação de sistemas de chat em aplicativos. Oferece uma interface intuitiva e amigável ao usuário e permite que desenvolvedores gerenciem funcionalidades de chat com pouco esforço — muitas vezes com apenas um clique. Desenvolvido para facilitar a integração, ele simplifica funcionalidades comuns de chat, como envio de mensagens, indicadores de digitação e histórico de mensagens. O pacote visa reduzir o tempo de desenvolvimento mantendo um design limpo e responsivo. É ideal para aplicativos que exigem comunicação em tempo real sem codificação personalizada extensa.

Casos de uso

  • Aplicativos de mensagens instantâneas
  • interfaces de chat de suporte ao cliente
  • Comunicação ponto a ponto dentro do aplicativo
  • Ferramentas de colaboração em tempo real
  • sistemas de mensagens internas da equipe

Principais recursos

  • Controle de recurso com um clique
  • Componentes de interface do chat pré-construídos
  • Integração fácil com o Firebase ou outros backends
  • Suporte para histórico de mensagens e status de entrega
  • Temas e estilos personalizáveis

Indicado para

  • Desenvolvedores procurando implementação rápida de bate-papo
  • Aplicativos que precisam de funcionalidade de bate-papo leve
  • Equipes construindo MVPs com recursos de chat
  • Projetos que priorizam a produtividade do desenvolvedor

Considerações

  • Personalização limitada além dos temas fornecidos
  • Dependente de serviços externos de backend
  • Sem autenticação embutida
  • Pode ser necessário configuração adicional para recursos avançados

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

This package is a powerful and versatile solution for implementing real-time chat functionality in your Flutter applications. Built on Firebase Firestore and Firebase Cloud, this package provides a unique and pre-designed chatting system with features such as push notifications and a customizable theme for the Inbox Screen and Chat Screen.

Platform Tested : Result OK

Android iOS macOS Web Linux Windows
✔ ✔ :x: :x: :x: :x:

Key Features

  • Easy to use: The package offers a straightforward implementation process, allowing you to integrate chat functionality seamlessly into your app.
  • Direct Integration: Firebase Firestore and Firebase Cloud are directly integrated, ensuring reliable and efficient communication between users.
  • Pre-Build UI: The package comes with a pre-built user interface for the chat screens, eliminating the need for extensive design work.
  • Start Chat with a Single Function: Initiating a chat is as simple as calling a single function, enabling users to connect and communicate quickly.
  • Customizable Themes: Both the Home Screen and Chat Screen can be customized to match your app's design and branding.

Gallery

Installation

To get started, add the following dependency to your pubspec.yaml file:

dependencies:
  apptex_chat: ^2.0.0

Then, run flutter pub get to install the package.

Usage

Step 1 : Firebase Configuration

  1. Install Firebase in your project
  2. Download google-services.json and GoogleService-Info.plist file for your project from firebase.
  3. Inilize firebase in the main function.

Step 2 : User Authentication

To enable chat functionality, you need to authenticate users. When a user signs up or logs in, you can pass their information to AppTexChat using the initChat method.

// Here you can set the current user to the Apptex chat
AppTexChat.instance.initChat(
 currentUser: ChatUserModel(
   uid: "{uid}",
   profileUrl: "{Profile url}",
   name: "{Currect User Name}",
   fcmToken: "{Fcm Token}", //Pass empty string if you don't have fcm token
 ),
);

Replace Current User Name, uid, profile URL, and Fcm Token with the corresponding values for the user.

Step 3 : Starting a Chat

To start a chat with another user, call the startNewConversationWith function:

//Here you need to pass the other user's info
AppTexChat.instance.startNewConversationWith(
  ChatUserModel(
    uid: "Other user uid",
    profileUrl: 'Other user profile',
    name: 'Other user name',
    fcmToken: 'Other user fcm token',
  ),
);

Show Conversations on Inbox Screen

To see a list of all the conversations, use the ConversationsScreen widget. It has a builder parameter which gives you the flexibility to list the conversation according to your app's design.

// Example 
ConversationsScreen(
  builder: (conversations, isLoading) => ListView.separated(
    separatorBuilder: (context, index) => SizedBox(height: 20),
    shrinkWrap: true,
    padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10),
    itemCount: conversations.length,
    itemBuilder: (context, index) => Container(
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(10),
        color: Colors.white,
        boxShadow: [
          BoxShadow(
            color: Colors.grey.withOpacity(0.5),
            spreadRadius: 1,
            blurRadius: 2,
            offset: Offset(0, 1),
          )
        ],
      ),
      padding: EdgeInsets.all(10),
      child: ListTile(
        onTap: () {
          //TODO: Navigate to chat screen
        },
        leading: CircleAvatar(
          backgroundImage:
              NetworkImage(conversations[index].otherUser.profileUrl ?? ''),
        ),
        title: Text(conversations[index].otherUser.name),
        subtitle: Text(conversations[index].lastMessage),
        trailing: Container(
          padding: EdgeInsets.all(5),
          decoration: BoxDecoration(
            color: Colors.blue,
            shape: BoxShape.circle,
          ),
          child: Text(
            conversations[index].unreadMessageCount.toString(),
            style: TextStyle(color: Colors.white),
          ),
        ),
      ),
    ),
  ),
);

Display messages of a specific chat

To see messages of a specific conversation, use the ChatScreen widget. It has an appBarBuilder(required) and bubbleBuilder(optional) parameter which gives you the flexibility to create custom appbar and chat bubbles according to your app's design.

ChatScreen(
 conversationModel: conversationModel, 
 showMicButton: false, //It is true by default, set it to false if you don't want voice messages
 appBarBuilder: ((currentUser, otherUser) => AppBar()), //Builder to create custom AppBar
);

Features Status

  1. Chating ✅
  2. Voice messages ✅
  3. Images ✅
  4. Emojis ✅
  5. Videos 🚫
  6. Document 🚫
  7. Location 🚫

Additional information

More is about to Come:

Features that will be added later:

  1. Push Notifications
  2. Make it for web

Frameworks Used

  1. Firebase Firestore
  2. Firebase Cloud storage

Contributors


Sayed Muhammad Idrees

💻 🎨

Shah Raza

💻

Jamshid Ali

💻

Afaq Zahir

💻

Help Maintenance

Buy Me A Coffee

Categorias

Dependências

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.