QuickBlox provides you with ready-to-use chat and video calling solutions for your apps. Using our documentation you can quickly integrate QuickBlox across multiple platforms and devices.

Before you begin

1

Register a QuickBlox account

Register a QuickBlox account by visiting the signup page. It only takes a few minutes, and you can use this account to build your apps.

2

Create and configure a new app

Click the Add new app button and fill in the required information about your company to create a new app.

3

Get credentials

Go to the Overview section on your Dashboard, and copy the Application ID, Authorization Key, Authorization Secret, and Account Key from there.

Platform features

Use QuickBlox to add rich chat and video calling features to your apps. Our platform has a modular structure. Here is a list of all QuickBlox modules and their features:

Users

FeaturePlatformsDescription
User managementiOS | Android | JavaScript | React Native | Flutter | Server APICreate, update, delete, and list users.
Standard loginiOS | Android | JavaScript | React Native | Flutter | Server APILog in with email/username and password.
Social loginiOS | Android | JavaScript | Server APILog in using social network accounts.
Phone number loginiOS | Android | JavaScript | Server APILog in using a phone number.
Custom identity provider loginiOS | Android | JavaScript | Server APILog in with a token generated by the identity provider.
User tagsiOS | Android | JavaScript | React Native | Flutter | Server APIAssign tags to users and then address them separately by tags.
Existing user database integrationCustom identity providerEasily integrate your existing user database with QuickBlox.

Chat

FeaturePlatformsDescription
Private chatiOS | Android | JavaScript | React Native | Flutter | Server APICreate a one-to-one chat.
Group chatiOS | Android | JavaScript | React Native | Flutter | Server APICreate a group chat between multiple users.
Public chatiOS | Android | JavaScript | React Native | Flutter | Server APICreate a public chat between hundreds of users. Anyone can freely join the public chat.
Message historyiOS | Android | JavaScript | React Native | Flutter | Server APIAll users’ messages are stored on the server. You can fetch them for a particular dialog.
PresenceiOS | Android | JavaScript | React Native | FlutterSubscribe to user presence updates and check user online status.
Read receiptsiOS | Android | JavaScript | React Native | FlutterMark messages as read. Thus, users will know if their messages have been read by other users in the dialog.
Delivery receiptsiOS | Android | JavaScript | React Native | FlutterMark messages as delivered. Thus, users will know if their messages have been successfully delivered to other users in the dialog.
Typing indicatorsiOS | Android | JavaScript | React Native | FlutterSubscribe to typing events to indicate if the other user is typing a message at the moment.
AttachmentsiOS | Android | JavaScript | React Native | Flutter | Server APISend messages with attachment so users can share files during a chat, such as images, audio files, videos, and other file types.
Extended messagingiOS | Android | JavaScript | React Native | Flutter | Server APIExtend a message with additional fields.
Unread message countiOS | Android | JavaScript | React Native | FlutterDisplay a number of unread messages in a particular dialog.
Offline messagesiOS | Android | JavaScript | React Native | FlutterSubscribe to push notifications about new messages when the app is not running.
Contact listiOS | Android | JavaScript | React Native | FlutterAdd and remove users from your contact list.
User-to-user blockiOS | Android | JavaScriptAdd users to your privacy list to block incoming messages from them.
Trust and safetyTrust and safetyCreate rules to mask profanity or block messages that contain it.
User banUser banBan a user so the user can no longer connect to the chat server.
ChatbotSimple bot | RiveScript botIntegrate your chatbot with QuickBlox.

Video calling

FeaturePlatformsDescription
Voice and videoiOS | Android | JavaScript | React Native | FlutterCreate video sessions that can be video and voice, voice-only or video-only.
One-to-one callsiOS | Android | JavaScript | React Native | FlutterCreate video calls between two users.
Group callsiOS | Android | JavaScript | React Native | FlutterCreate video calls with up to 4 users at a time.
Screen-sharingiOS | Android | JavaScriptShare a screen across video session participants.
Mute/unmuteiOS | Android | JavaScript | React Native | FlutterDisable own or opponent’s audio/video stream.
Camera switchiOS | Android | JavaScript | React NativeSwitch between camera input during a call.
Video mirroringSupportedFlip the video horizontally during a call.
Offline callsSupportedImplement offline calls workflow with QuickBlox push notifications.

Video conference

FeaturePlatformsDescription
Voice and videoiOS | Android | JavaScript | FlutterCreate video conference sessions that can be video and voice, voice-only or video-only.
Group conferenceiOS | Android | JavaScript | FlutterCreate conference calls between 10-12 users at a time.
Join/rejoiniOS | Android | JavaScript | FlutterJoin a meeting or continue an earlier meeting with those who were in it.
Mute/unmuteiOS | Android | JavaScript | FlutterDisable own or opponent’s audio/video stream.
Camera switchSupportedSwitch video inputs during a call.
Call recordingSupportedEnable server-side recording which means any conference call can be documented.
Offline callsSupportedImplement offline calls workflow with QuickBlox push notifications.

Content

FeaturePlatformsDescription
File storageiOS | Android | JavaScript | React Native | Flutter | Server APIUpload, download, delete media files such as photos, video, documents, etc.

Push notifications

FeaturePlatformsDescription
Instant notificationsiOS | Android | JavaScript | React Native | Flutter | Server APISend instant push notifications to a user’s device.
Scheduled notificationsiOS | Android | JavaScript | React Native | Flutter | Server APICreate push notifications that will be sent at a specific time/date.
Recurring notificationsiOS | Android | JavaScript | React Native | Flutter | Server APICreate push notifications that will be sent repeatedly according to the time interval.
Notifications by user tagsSupportedSend push notifications to specific user groups defined by tags.
Subscribe deviceiOS | Android | React Native | Flutter | Server APISubscribe/unsubscribe a device to receive push notifications.

Custom objects

FeaturePlatformsDescription
Data schemaiOS | Android | JavaScript | React Native | Flutter | Server APICreate a flexible data schema so you can store and structure your data exactly how you need to.
Data managementiOS | Android | JavaScript | React Native | Flutter | Server APICreate, update, delete custom object records.
Flexible queriesiOS | Android | JavaScript | React Native | Flutter | Server APIDefine specific search criteria based on comparisons to the fields of each record and list the exact data that you need.
RelationsiOS | Android | JavaScript | Server APIBuild one-to-many relations between data schemas.
PermissionsiOS | Android | JavaScript | Server APIAdd a flexible permissions schema by choosing from five permission levels. Specify users who can access the object and operations allowed on a given object.

Address book

FeaturePlatformsDescription
Contact managementiOS | Android | JavaScript | Server APIUpload contacts to the server. Keep the contacts up-to-date by updating, deleting or syncing the device contacts with QuickBlox.
Retrieve registered usersiOS | Android | JavaScript | Server APIRetrieve registered QuickBlox users from the address book.
New contact notificationsiOS | Android | JavaScriptEnable push notifications when a contact from your address book joins the app.

Getting around

Our documentation is split into two basic sections:

  1. Documentation. Here you can explore our SDKs in-depth. QuickBlox supports multiple platforms including iOS, Android, JavaScript, React Native, and Flutter. Learn all fundamentals for integrating and configuring our SDKs for each particular platform.
  2. Server API. Use QuickBlox Server API to establish a server-to-server connection between your application and QuickBlox server and fulfill activities associated with chat. Our API documentation is organized around modules. Each module contains a set of specific API requests and respective endpoints. Find a list of parameters and their descriptions below each request.

Basic recommendations

Here are basic recommendations for navigating our documentation.

  1. It’s better to start with our Key Concepts page to get an overall understanding of QuickBlox.

  2. Take a look at our Code Samples page with a collection of ready-to-go apps for the most popular platforms.

  3. Move over to the Quick Start guide of the platform you want to add the QuickBlox to. Learn how to run the code sample and send your first message from here.

  4. Refer to our Setup page to learn how to initialize, connect, and configure QuickBlox SDK so it works seamlessly with your app.

  5. Check other pages to customize QuickBlox further. Following other sections, you will understand how to implement each particular functionality in detail whether it is Chat, Video Calling, Push Notifications, etc.