chat_service 1.0.0 copy "chat_service: ^1.0.0" to clipboard
chat_service: ^1.0.0 copied to clipboard

Chat Service integrate as customer support for your Flutter Apps.

example/main.dart

/*
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:uuid/uuid.dart';

import 'src/constants.dart';
import 'src/model/chat_session.dart';
import 'src/service/service.dart';
import 'src/views/chat_screen.dart';

class ChatPage extends StatefulWidget {
  const ChatPage({Key? key}) : super(key: key);

  @override
  State<ChatPage> createState() => _ChatPageState();
}

class _ChatPageState extends State<ChatPage> {

  getData() {
    return // your server request code;
  }

  @override
  Widget build(BuildContext context) {
    // Best to use streamBuilder to get data.
    return StreamBuilder<QuerySnapshot>(
      stream: getData(),
      builder: (context, snapshot) {
        // when no any chat sessions are available
        if (!snapshot.hasData || snapshot.data!.docs.isEmpty) {
          return ChatScreen(
            userId: currentUserId,
            screenTitle: "SORRAVL",
            // chatSession: chatSession,
            onTyping: (b) {},
            onSendMessage: (message) {
              // if First message. you should create chatsession
              var sessionId = const Uuid().v4();
              setState(() {
                // set sessionID of message as like this
                message.sessionId = sessionId;
              });
              var chatSession = ChatSession(
                  customerName: "vishnu",
                  sessionId: sessionId,
                  customerId: currentUserId,
                  agentId: agentId,
                  createdAt: DateTime.now(),
                  updatedAt: DateTime.now(),
                  closedAt: null,
                  sessionStatus: SessionStatus.active,
                  customerStatus: CustomerStatus.active,
                  agentStatus: AgentStatus.notPicked,
                  messages: [message]);
                  // write your code to upload a chatsession and message to server
            },
          );
        } else {
          // when chat sessions are available
          var chatSession = // Object from snapshot data
          return ChatScreen(
            userId: currentUserId,
            screenTitle: "SORRAVL",
            chatSession: chatSession,
            onSendMessage: (message) {
              setState(() {
                // set sessionID of message as like this
                message.sessionId = chatSession.sessionId;
              });
              chatSession.messages!.add(message);
              // write your code to upload a chatsession and message to server

            },
            onTyping: (isTyping) {
              if (isTyping) {
                // write your code to update as user is typing to server
              } else {
                // write your code to update as user is not typing to server
              }
            },
          );
        }
      },
    );
  }
}
*/
0
likes
110
pub points
49%
popularity

Publisher

unverified uploader

Chat Service integrate as customer support for your Flutter Apps.

Repository (GitHub)
View/report issues

Documentation

API reference

License

unknown (license)

Dependencies

flutter, intl, uuid

More

Packages that depend on chat_service