PubNub Chat API & SDK Docs
PubNub Chat enables developers to quickly build and scale fast, powerful live chat experiences without the hassle of managing real-time infrastructure, ensuring low latency performance.
-
Rapid proof of concept: With PubNub's Chat SDKs, you can seamlessly integrate chat room features using pre-built capabilities, sample apps, and expert guidance from our Solutions Architects.
-
Feature-rich: Create modern, interactive messaging experiences with typing indicators, threaded messages, emoji reactions, read receipts, and more. Easily manage users and channels, and moderate your chat with the no-code BizOps Workspace that serves as your global chat moderator tool.
-
Unmatched reliability: PubNub offers < 30ms latency, 5-9’s uptime SLA, and support for millions of concurrent users, providing a scalable, high-performance chat experience. Real-time dashboards offer full visibility and control over your app's performance, whether users are text messaging or engaging in complex chat room activities.
-
Customizable and flexible: Create unique experiences tailored to your users' needs with user presence, push notifications, and real-time updates. Use PubNub Functions to apply business logic to your messages, or leverage pre-built integrations for content moderation, voice & video, chatbots, and more. Take advantage of a variety of programming languages to fit your development environment.
-
Scalable pricing: As your app grows, our pricing becomes more cost-effective, with no limits on concurrency or channels, allowing you to scale without worrying about hidden fees. Try for free to discover our platform's full potential.
Chat SDKs
We developed the following set of Chat SDKs to enable easy integration of PubNub's real-time chat functionalities across diverse platforms and development environments:
- Website integration (JavaScript Chat SDK)
- Gaming environments (Unity Chat SDK & Unreal Chat SDK).
- Mobile app development (Swift Chat SDK & Kotlin Chat SDK)
All Chat APIs use intuitive, chat-specific terminology enabling easy implementation of user interactions such as sending messages, managing threads, and indicating typing status with methods like createUser()
and startTyping()
.
These SDKs provide simple, high-level methods that call various methods from relevant core SDKs underneath, also sharing their usage limits.
Supported features
Chat SDKs provide a number of features you can develop in your chat apps.
Feature | Description |
---|---|
Manage channels | Create, update, and delete direct, public, and group channels |
Invite to channels | Enable users to invite others to join channels by sending invitations |
Watch channels | Enable users to monitor a channel and its messages, allowing them to receive messages without joining as members. |
Join or leave channels | Allow users to join channels of interest or relevance and leave channels that are no longer needed |
Reference channels | Let users mention specific channels in a chat conversation by typing # followed by at least the first three letters of the channel name |
Add typing indicator | Provide real-time feedback to users when someone is composing a message |
Manage users | Create, edit, and remove users |
Check user presence | Display real-time online status of users in the app or per channel, showing if they are online, offline, active, or away |
Mention users | Tag specific individuals within a chat by typing @ followed by the first three letters of a username, triggering a list of suggestions |
Manage channel and user access | Implement detailed permission schemas to control access to specific channels and user metadata within your chat app |
Moderate users | Mute or ban misbehaving users |
Send/Receive messages | Allow users to exchange text-based communications in real-time within channels |
Manage messages | Create, edit, and remove messages |
Store historical messages | Archive past conversations |
Restore messages | Recover deleted messages within a specified timeframe |
Forward messages | Share specific messages with others or across different channels |
Add/Remove message reactions | Add or remove reactions, such as emojis, to messages |
Create message drafts | Enable users to compose messages and review them before sending |
Quote messages | Quote messages within channels |
Create message threads | Start and participate in focused sub-conversations |
Send links | Share URLs in messages |
Attach files | Attach and share files of various formats |
Pin messages | Pin important messages to the top of the chat for easy reference |
Track unread messages | Implement notifications and visual markers for users to easily identify unread messages in channels |
Get message read receipts | Be notified when other channel members have received and viewed a message. |
Flag/Report offensive messages | Flag or report messages deemed inappropriate |
Receive mobile push notifications | Support push notifications on mobile devices to alert users of new messages, mentions, or other significant activities |