Package selection guidance compiled from public package information, community data, and project usage.
A Flutter plugin that enables seamless integration of Freshchat, a customer messaging platform, into mobile applications. It allows developers to embed real-time chat functionality directly within their Flutter apps, facilitating communication between users and support teams. The plugin supports both Android and iOS platforms, providing a consistent experience across devices. With minimal setup via pub.dev, it enhances user engagement through in-app messaging, automated responses, and conversation history. The open-source nature of the plugin encourages community contributions and transparency.
Use cases
In-app customer support
Real-time user messaging
Customer service automation
User engagement tracking
Support ticket integration
Key features
Cross-platform compatibility
Easy integration via pub.dev
Real-time chat interface
Support for conversation history
Open-source codebase
Suitable for
Mobile apps needing live chat
Customer support systems
Apps with high user interaction
Developers using Flutter
Teams wanting open-source solutions
Considerations
Requires Freshchat account setup
Limited to Freshchat's feature set
May need additional configuration for advanced use cases
Depends on Freshchat's backend stability
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
💬 Flutter Freshchat
A Flutter plugin for integrating Freshchat in your mobile app.
Starting with iOS 10, Apple requires developers to declare access to privacy-sensitive controls ahead of time.
<key>NSPhotoLibraryUsageDescription</key><string>To Enable access to Photo Library</string><key>NSCameraUsageDescription</key><string>To take Images from Camera</string>
If you encounter non-modular header error during project build
error: include of non-modular header inside framework module 'flutter_freshchat.FlutterFreshchatPlugin'
Manually in xcode update the FreshchatSDK.h to be in the flutter_freshchat target and public.
You may have to do this each time your switch or rebuild the xcode project from flutter.
Update the user info by setting by creating a FreshchatUser object
FreshchatUser user = FreshchatUser.initial();
user.email = "john@test.com";
user.firstName = "john";
user.lastName = "doe";
user.phoneCountryCode = "+91";
user.phone = "0123456789";
awaitFlutterFreshchat.updateUserInfo(user: user);
// Custom properties can be set by creating a Map<String, String>Map<String, String> customProperties = Map<String, String>();
customProperties["loggedIn"] = "true";
awaitFlutterFreshchat.updateUserInfo(user: user, customProperties: customProperties);
Identify the user user by usin email address or any way you uniquely identify the user.
externalID is required and returns a restoreID you can save it and use to restore the chats
Show conversation opens a conversation screen and also list all the other conversation if a list obejct is supplied to it. You can also pass a title for the chat screen.
ShowFAQs opens a FAQ screen in a grid like format as default you can change the default setting by changing this paramters. showFaqCategoriesAsGrid = true showContactUsOnAppBar = true showContactUsOnFaqScreens = false showContactUsOnFaqNotHelpful = false
awaitFlutterFreshchat.showFAQs();
Gets the unseen message count from freshchat you can use this to show a counter.
int count = awaitFlutterFreshchat.getUnreadMsgCount();
Reset user data at logout or when deemed appropriate based on user action in the app.