Introduction

Learn about QuickBlox platform features and documentation guidelines.

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. This is a matter of a few minutes and you will be able to use this account to build your apps.
  2. Create and configure a new app. Click Add new app button and fill in the information about your company.
  3. Get credentials. Go to the Overview section on your Dashboard and copy Application ID, Authorization Key, Authorization Secret, and Account Key.

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

User management iOS | Android | JavaScript | React Native | Flutter |
Server API
Create, update, delete, and list users.
Standard login iOS | Android | JavaScript | React Native | Flutter |
Server API
Log in with email/username and password.
Social login iOS | Android | JavaScript | Server API Log in using social network accounts.
Phone number login iOS | Android | JavaScript | Server API Log in using a phone number.
Custom identity provider login iOS | Android | JavaScript | Server API Log in with a token generated by the identity provider.
User tags iOS | Android | JavaScript | React Native | Flutter |
Server API
Assign tags to users and then address them separately by tags.
Existing user database integration Custom identity provider Easily integrate your existing user database with QuickBlox.

Chat

Private chat iOS | Android | JavaScript | React Native | Flutter |
Server API
Create a one-to-one chat.
Group chat iOS | Android | JavaScript | React Native | Flutter |
Server API
Create a group chat between multiple users.
Public chat iOS | Android | JavaScript | React Native | Flutter |
Server API
Create a public chat between hundreds of users. Anyone can freely join the public chat.
Message history iOS | Android | JavaScript | React Native | Flutter |
Server API
All users' messages are stored on the server. You can fetch them for a particular dialog.
Presence iOS | Android | JavaScript | React Native | Flutter Subscribe to user presence updates and check user online status.
Read receipts iOS | Android | JavaScript | React Native | Flutter Mark messages as read. Thus, users will know if their messages have been read by other users in the dialog.
Delivery receipts iOS | Android | JavaScript | React Native | Flutter Mark messages as delivered. Thus, users will know if their messages have been successfully delivered to other users in the dialog.
Typing indicators iOS | Android | JavaScript | React Native | Flutter Subscribe to typing events to indicate if the other user is typing a message at the moment.
Attachments iOS | Android | JavaScript | React Native | Flutter |
Server API
Send messages with attachment so users can share files during a chat, such as images, audio files, videos, and other file types.
Extended messaging iOS | Android | JavaScript | React Native | Flutter |
Server API
Extend a message with additional fields.
Unread message count iOS | Android | JavaScript | React Native | Flutter Display a number of unread messages in a particular dialog.
Offline messages iOS | Android | JavaScript | React Native | Flutter Subscribe to push notifications about new messages when the app is not running.
Contact list iOS | Android | JavaScript | React Native | Flutter Add and remove users from your contact list.
User-to-user block iOS | Android | JavaScript Add users to your privacy list to block incoming messages from them.
Trust and safety Trust and safety Create rules to mask profanity or block messages that contain it.
User ban User ban Ban a user so the user can no longer connect to chat server.
Chatbot Simple bot | RiveScript bot Integrate your chatbot with QuickBlox.

Video calling

Voice and video iOS | Android | JavaScript | React Native | Flutter Create video sessions that can be video and voice, voice-only or video-only.
One-to-one calls iOS | Android | JavaScript | React Native | Flutter Create video calls between two users.
Group calls iOS | Android | JavaScript | React Native | Flutter Create video calls with up to 4 users at a time.
Screen-sharing iOS | Android | JavaScript Share a screen across video session participants.
Mute/unmute  iOS | Android | JavaScript | React Native | Flutter Disable own or opponent’s audio/video stream.
Camera switch  iOS | Android | JavaScript | React Native Switch between camera input during a call.
Video mirroring  Supported Flip the video horizontally during a call.
Offline calls Supported Implement offline calls workflow with QuickBlox push notifications.

Video conference

Voice and video iOS | Android | JavaScript | Flutter Create video conference sessions that can be video and voice, voice-only or video-only.
Group conference iOS | Android | JavaScript | Flutter Create conference calls between 10-12 users at a time.
Join/rejoin iOS | Android | JavaScript | Flutter Join a meeting or continue an earlier meeting with those who were in it.
Mute/unmute  iOS | Android | JavaScript | Flutter Disable own or opponent’s audio/video stream.
Camera switch  Supported Switch video inputs during a call.
Call recording  Supported Enable server-side recording which means any conference call can be documented.
Offline calls Supported Implement offline calls workflow with QuickBlox push notifications.

Content

File storage iOS | Android | JavaScript | React Native | Flutter |
Server API
Upload, download, delete media files such as photos, video, documents, etc.

Push notifications

Instant
notifications
iOS | Android | JavaScript | React Native | Flutter |
Server API
Send instant push notifications to a user's device.
Scheduled notifications iOS | Android | JavaScript | React Native | Flutter |
Server API
Create push notifications that will be sent at a specific time/date.
Recurring notifications  iOS | Android | JavaScript | React Native | Flutter |
Server API
Create push notifications that will be sent repeatedly according to the time interval.
Notifications by user tags  Supported Send push notifications to specific user groups defined by tags.
Subscribe device
iOS | Android | React Native | Flutter | Server API Subscribe/unsubscribe a device to receive push notifications.

Custom objects

Data schema iOS | Android | JavaScript | React Native | Flutter |
Server API
Create a flexible data schema so you can store and structure your data exactly how you need to.
Data management iOS | Android | JavaScript | React Native | Flutter |
Server API
Create, update, delete custom object records.
Flexible queries iOS | Android | JavaScript | React Native | Flutter |
Server API
Define specific search criteria based on comparisons to the fields of each record and list the exact data that you need.
Relations iOS | Android | JavaScript |
Server API
Build one-to-many relations between data schemas.
Permissions iOS | Android | JavaScript | Server API Add 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

Contact management iOS | Android | JavaScript |
Server API
Upload contacts to the server. Keep the contacts up-to-date by updating, deleting or syncing the device contacts with QuickBlox.
Retrieve registered users iOS | Android | JavaScript |
Server API
Retrieve registered QuickBlox users from the address book.
New contact notifications iOS | Android | JavaScript Enable 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.

  6. Suggest improvements using the Suggest edits tool. We will consider them for upcoming releases. QuickBlox aims to create first-rate interactive documentation. Explore our SDKs and API and let us know if you need any assistance.


What’s Next