Skip to main content

Development Guide

Welcome to RongCloud Instant Messaging (IM). This page provides a brief introduction to the architecture, service capabilities, and SDK products of RongCloud IM.

Architecture and Services

RongCloud IM service does not require establishing a parallel user system outside your application (App), synchronizing user information to RongCloud, or affecting your App's existing system architecture and account system. It seamlessly integrates with your current business systems.

RongCloud's architecture design features:

  • No need to modify your existing App architecture—direct integration into your current code framework.

  • No need to adjust your existing application server architecture—only requires independent deployment of user authorization services.

  • Focused on communication capabilities, using a proprietary binary protocol that ensures lightweight, ordered, and lossless messaging.

  • Provides secure identity authentication and authorization mechanisms to prevent SDK abuse (such as identity theft, spam messaging, etc.).

RongCloud IM supports various business scenarios including [one-to-one chat], [group chat], [ultra group], [chatroom], offering rich client and server APIs with most features ready out-of-the-box.

Business Type Overview

  • One-to-one chat: Private messaging between two users.

  • Group chat: Similar to WeChat groups.

  • Ultra group1: No member limit, supports public/private channels, user groups, etc., ideal for building large communities like Discord.

  • Chatroom: No member limit, only online users receive messages, suitable for live streaming, communities, gaming, dating, interest discussions, etc.

The table below compares key differences between one-to-one chat, group chat, ultra group, and chatroom:

FeatureOne-to-One ChatGroup Chat Ultra Group 1Chatroom
Scenario AnalogySimilar to WeChat private chatSimilar to WeChat groups Similar to DiscordChatroom
Characteristics/AdvantagesSupports offline push and message history roamingSupports offline push and message history roaming, suitable for interest groups, work groups, customer service, etc. No member limit, supports message editing, public/private channels, user groups, etc.No member limit, only online users receive messages, local history cleared upon exit
Service ActivationNot requiredNot required RequiredNot required
UI ComponentsIMKit2IMKit2 Not providedNot provided
Creation MethodNot applicableServer API Server APIServer API, auto-created when clients join
Termination/DissolutionNot applicableServer API Server APIServer API, supports auto-destruction3
Member LimitN/AMax 3,000 members UnlimitedUnlimited
User Join RestrictionsN/AUnlimitedMax 100 groups per user, max 50 channels per groupDefault: join 1 chatroom only (restriction can be disabled)4
Pre-join Message AccessN/ADisabled by default (configurable)Disabled by default (configurable)Clients receive up to 50 latest messages upon joining
Client Message Rate5 messages/sec per client55 messages/sec per client5 5 messages/sec per client55 messages/sec per client5
Server Message Rate6,000 messages/minute620 messages/sec6 100 messages/sec6100 messages/sec6
Extensible MessagesSupportedSupported SupportedNot supported
Message EditingNot supportedNot supported SupportedNot supported
Message Reliability100% reliable100% reliable 100% reliableMessages exceeding server consumption limit will be discarded7
Local Message StorageSupported (mobile/PC)Supported (mobile/PC) Supported (mobile/PC)Not supported
Cloud Message StorageRequires activation (6-36 months)8Requires activation (6-36 months)8 Default 7 days (extendable to 3-36 months)8Requires activation (2-36 months)8
Offline Message CacheDefault 7 daysDefault 7 days Not supportedNot supported
Local Message SearchSupportedSupported SupportedNot supported
Offline Push NotificationsSupportedSupported Supported (adjustable frequency)Not supported

Footnotes:

Client SDKs

The RC IM client SDKs provide rich components and interfaces, with most capabilities ready to use out of the box. When combined with the IM server APIs, they can meet your diverse business requirements.

Before integrating RC SDKs, we recommend evaluating them through quick start guides and sample projects.

How to Choose an SDK

IMLib SDK and IMKit SDK are RC IM service's two core client SDKs, with consistent functionality across different platforms.

  • IMLib: The instant messaging capability library. It encapsulates core communication capabilities along with conversation and message objects, without any UI components. IMLib already supports most mainstream platforms and frameworks, including Android, iOS, Web, Flutter, React Native, Unity, and WeChat Mini Programs.

  • IMKit: The instant messaging UI library. It integrates chat UIs and provides extensive customization features. IMKit currently supports Android, iOS, and Web (requires Web IMLib 5.x version).

You can flexibly choose based on your business needs:

  • If you need deep integration of IM core capabilities with fully customized UI, select the IMLib SDK. It offers maximum flexibility.

  • If you want rapid deployment with ready-to-use conversation UIs, choose the IMKit SDK. You can directly integrate it into your product, customize interface features through rich APIs, or extend its capabilities using official plugins - significantly reducing development cycles.

Platform Compatibility

The RC IM Client SDK supports mainstream platforms and frameworks, with consistent basic features across platforms and interoperability. The following table lists the platform support for version 5.X SDKs.

Platform/FrameworkInterface LanguageSupported ArchitecturesSystem Requirements
AndroidJavaarmeabi-v7a, arm64-v8a, x86, x86-64Android 5.0 or later
iOSObjective-CDevice: arm64, armv7
Simulator: arm64 (5.4.7+), x86_64
iOS 9.0 or later
WebJavaScript------
ElectronJavaScriptSee Electron Version and Architecture SupportElectron 11.1.x, 14.0.x, 16.0.x, or 20.0.x
FlutterDart---Flutter 2.0.0 or later
React NativeTypeScript---React Native 0.60 or later
uni-appJavaScript---uni-app 2.8.1 or later
UnityC#armeabi-v7a, arm64-v8a---
  • Electron Version and Architecture Support

    The Electron framework is supported through the Electron module of the Web SDK (see Electron Integration Solution), enabling desktop application development for Windows, Linux, and macOS platforms. The following table lists supported Electron versions, desktop operating systems, and CPU architectures:

    Electron VersionPlatformSupported ArchitecturesNotes
    11.1.xWindowsia32 (x86)win32-ia32
    11.1.xLinuxx64linux-x64
    11.1.xLinuxarm64linux-arm64
    11.1.xMacx64darwin-x64
    14.0.0Windowsia32 (x86)win32-ia32
    14.0.0Macx64darwin-x64
    16.0.xWindowsia32 (x86)win32-ia32
    16.0.xMacx64darwin-x64
    20.0.xWindowsia32 (x86)win32-ia32
    20.0.xMacx64darwin-x64
    20.0.xMacarm64darwin-arm64

Version Support

The latest versions of the IM client SDKs for each platform/framework are as follows (--- indicates not currently supported):

SDK/PlatformAndroidiOSWebElectronFlutterReact NativeUnityuni-appMini Program
IMLib5.10.x5.10.x5.9.x5.9.x5.6.x5.2.x5.1.x5.4.x5.9.x
IMKit5.10.x5.10.x5.9.x------------------
Global IM UIKit1.0.x1.0.x1.0.x1.0.x---------------

Package Size Increment After SDK Integration

IM Server

The IM server provides a set of API interfaces and open-source SDKs in multiple languages.

Server API

You can use the server API to integrate RC services into your instant messaging service system and build the backend service system for your IM application. For example, obtaining user identity tokens (Token) from RC, sending/recalling messages to users from your application server, or managing banned user lists.

tip

Visit the RC IM Server API Documentation.

Server SDKs

RC provides open-source server SDKs in multiple languages:

Console

Through the RC Console, you can manage developer accounts and applications, enable premium services, view data reports, and access billing information.

tip

Some IM features require service activation before use. For details, see the Service Management page in the Console.

Data & Analytics

RC provides various tools for data storage, retrieval, and statistical analysis.

  • Message Storage & Retrieval:

    • Cloud Storage for One-to-One and Group Messages: Enabled by default. Historical messages for one-to-one chats and group chats are stored on RC's server for client-side historical message retrieval. Storage duration can be adjusted according to your business needs.
    • Cloud Storage for Chatroom Messages: To store historical messages for chatrooms long-term on RC's server, please submit a ticket to enable this service. Once enabled, chatroom history messages are stored in the cloud by default for 2 months.
  • Historical Message Download: To obtain all users' historical messages, enable [Server API Historical Message Log Download]. After enabling, you can retrieve message logs from the last three days via server API.

  • Real-time Message Routing: You may also enable Post-messaging callback to synchronize messages to your business server in real-time for data backup or custom processing.

  • Data Privacy: RC is committed to protecting your data security and never utilizes customer data. We provide comprehensive data privacy protection policies. For details, see SDK Privacy Policy.