Flutter Realtime Chat App Plugin 📱💬
A Flutter plugin for building a realtime chat application. This plugin provides an easy-to-use API for developers to implement a chat feature into their Flutter app.
Features ✨
- Realtime messaging: Send and receive messages in real-time 🚀
- Push notifications: Receive push notifications for new messages 📩
- User authentication: Authenticate users with your own backend service 🔒
- Image support: Send and receive images in chats 📷
- Group chat: Create group chats and chat with multiple users at once 👥
- Typing indicators: See when users are typing in a chat ⌨️
- Read receipts: See when a user has read a message 👀
- Customizable UI: Customize the look and feel of the chat interface to match your app's branding 🎨
Installation
`flutter pub add chat_app_plugin`
/// Initializes user data with photo.
///
/// uid
the user ID.
/// name
the name of the user.
/// email
the email of the user.
/// photo
the photo of the user.
void inituserdatawithphoto(String uid, String name, String email, String photo)
/// Initializes user data without photo.
///
/// uid
the user ID.
/// name
the name of the user.
/// email
the email of the user.
///
/// Returns a Future that completes with the result.
Future inituserdatawithoutphoto(String uid, String name, String email)
/// Gets user data.
///
/// email
the email of the user.
///
/// Returns a Future that completes with the result.
Future getuserdata(String email)
/// Finds user.
///
/// email
the email of the user.
void finduser(String email)
/// Gets user groups. /// /// Returns a Future that completes with the result. Future getusergroups()
/// Adds a group.
///
/// uid
the user ID.
/// name
the name of the user.
/// groupname
the name of the group.
/// groupicon
the icon of the group.
///
/// Returns a Future that completes with the result.
Future addgroup(String uid, String name, String groupname, String groupicon)
/// Adds a group without icon.
///
/// uid
the user ID.
/// name
the name of the user.
/// groupname
the name of the group.
///
/// Returns a Future that completes with the result.
Future addgroupwithouticon(String uid, String name, String groupname)
/// Adds a report.
///
/// uid
the user ID.
/// uidofusertoreport
the ID of the user to report.
/// messagetoreport
the message to report.
/// date
the date of the report.
///
/// Returns a Future that completes with the result.
Future addreport(String uid, String uidofusertoreport, String messagetoreport,String date)
/// Gets group chats.
///
/// groupid
the ID of the group.
///
/// Returns a Future that completes with the result.
Future getgroupchats(String groupid)
/// Gets chat chats.
///
/// chatid
the ID of the chat.
///
/// Returns a Future that completes with the result.
Future getchatchats(String chatid)
/// Gets group members.
///
/// groupid
the ID of the group.
///
/// Returns a Future that completes with the result.
Future getgroupmembers(String groupid)
/// Determines whether the user is joined.
///
/// uid
the user ID.
/// groupid
the ID of the group.
/// groupname
the name of the group.
///
/// Returns a Future that completes with the result.
Future
/// Leaves a group.
///
/// uid
the user ID.
/// groupid
the ID of the group.
/// groupname
the name of the group.
///
/// Returns a Future that completes with the result.
Future leavegroup(String uid, String groupid, String groupname)
/// Adds a group chat.
///
/// groupid
the ID of the group.
/// chatmessage
the message to add.
void addgroupchat(String groupid, Map<String, dynamic> chatmessage)
/// Adds a chat.
///
/// uid1
the user ID of the first user.
/// firstusername
the name of the first user.
/// [uid2