Package selection guidance compiled from public package information, community data, and project usage.
Quickblox_SDK is a Flutter package that enables real-time communication features within mobile applications, including chat, video calling, user management, and push notifications. Built for Android and iOS, it integrates seamlessly into Flutter projects via a simple pub add command. The SDK provides robust infrastructure for building interactive, live communication experiences directly in apps. Developers can leverage its comprehensive APIs to implement secure, scalable messaging and calling functionalities without managing backend infrastructure. Source code is publicly available on GitHub for transparency and customization.
Use cases
In-app messaging
Video conferencing
User presence tracking
Push notification delivery
Real-time chat integration
Multi-user collaboration
Key features
End-to-end encrypted chat
High-quality video calling
Cross-platform support (Android & iOS)
User authentication and management
Push notification system
Scalable backend infrastructure
Suitable for
Messaging apps
Telehealth platforms
Remote collaboration tools
Live customer support systems
Social networking apps
Virtual classrooms
Considerations
Requires Quickblox account setup
Needs API key configuration
May require additional backend logic for custom workflows
Dependent on stable internet connection
Potential learning curve for new users
Limited documentation compared to mature alternatives
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Quickblox Flutter SDK
Quick Start
This guide demonstarates how to connect Quickblox Flutter SDK to your project and start development.
Quickblox application includes everything that brings messaging right into your application - chat, video calling, users, push notifications, etc. To create a QuickBlox application, follow the steps below:
Register a new account. Type in your email and password to sign in. You can also sign in with your Google or Github accounts.
Create the app clicking New app button.
Configure the app. Type in the information about your organization into corresponding fields and click Add button.
Go to the screen with credentials. Locate Credentials groupbox and copy your Application ID, Authorization Key, and Authorization Secret. These data are needed to run your application on QuickBlox server.
Install Flutter SDK into your app
To create a new Flutter chat messaging app with QuickBlox SDK from scratch follow these steps:
Add QuickBlox SDK into your project's dependencies into dependencies section in *pubspec.yaml* file in your root project dir.
dependencies: quickblox_sdk: 0.19.0
Send your first message
Initialize QuickBlox SDK
Initialize the framework with your application credentials. Pass appId, authKey, authSecret, accountKey to the QB.settings.init method using the code snippet below. As a result, your application details are stored in the server database and can be subsequently identified on the server.
In order to use the abilities of QuickBlox SDK, you need to authorize your app on the server, log in to your account and create a session. To get it all done call QB.auth.login method and pass login and password parameters to it using the code snippet below.
try {
QBLoginResult result = await QB.auth.login(login, password);
QBUser qbUser = result.qbUser;
QBSession qbSession = result.qbSession;
} onPlatformExceptioncatch (e) {
// Some error occured, look at the exception message for more details
}
Note!
You must initialize SDK before calling any methods through the SDK except for the method initializing your QuickBlox instance. If you attempt to call a method without connecting, the error is returned.
Connect to chat
To connect to chat server, use the code snippet below:
try {
await QB.chat.connect(userId, userPassword);
} onPlatformExceptioncatch (e) {
// Some error occured, look at the exception message for more details
}
Create dialog
QuickBlox provides three types of dialogs: 1-1 dialog, group dialog, and public dialog.
Let’s create 1-1 dialog. Call QB.chat.createDialog method and pass QBChatDialogTypes.CHAT parameter as a dialog type to it. QBChatDialogTypes.CHAT parameter allows specifying that two occupants are going to participate in the dialog.
try {
QBDialog createdDialog = await QB.chat.createDialog(occupantsIds, dialogName, dialogType: dialogType);
} onPlatformExceptioncatch (e) {
// Some error occured, look at the exception message for more details
}
Subscribe to receive messages
QuickBlox provides chat event handler allowing to notify client apps of events that happen on the chat. Thus, when a dialog has been created, a user can subscribe to receive notifications about new incoming messages. To subscribe to message events call QB.chat.subscribeChatEvent method and pass QBChatEvents.RECEIVED_NEW_MESSAGE as an event parameter to it using the following code snippet.
event - provides some values:
QBChatEvents.RECEIVED_NEW_MESSAGE - subscribe to new messages event
QBChatEvents.RECEIVED_SYSTEM_MESSAGE - subsccribe to system messages event
QBChatEvents.MESSAGE_DELIVERED - subscribe to message delivered event
QBChatEvents.MESSAGE_READ - subscribe to message read event
When a dialog is created, a user can send a message. To create and send your first message, call QB.chat.sendMessage method and specify the dialogId and body parameters to it. Pass saveToHistory parameter if you want this message to be saved in chat history that is stored forever.
try {
await QB.chat.sendMessage(dialogId, body: messageBody, saveToHistory: true);
} onPlatformExceptioncatch (e) {
// Some error occured, look at the exception message for more details
}
LICENSE
For license information, please visit: https://quickblox.com/terms-of-use/