Chat SDK overview

Azure Communication Services Chat SDKs can be used to add rich, real-time chat to your applications.

Chat SDK capabilities

The following table presents the set of features that are currently available in the Communication Services chat SDKs.

Group of features Capability Azure CLI JavaScript Java .NET Python iOS Android
Core Capabilities Create a chat thread between 2 or more users ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Update the topic of a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Add or remove participants from a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Choose whether to share chat message history with the participant being added ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get a list of participants in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Delete a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Given a communication user, get the list of chat threads the user is part of ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get info for a particular chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Send and receive messages in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Update the content of your sent message ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Delete a message you previously sent ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Read receipts for messages that have been read by other participants in a chat ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get notified when participants are actively typing a message in a chat thread ✔️ ✔️ ✔️
Get all messages in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Send Unicode emojis as part of message content ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Add metadata to chat messages ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Add display name to typing indicator notification ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Real-time notifications (enabled by proprietary signaling package**) Chat clients can subscribe to get real-time updates for incoming messages and other operations occurring in a chat thread. To see a list of supported updates for real-time notifications, see Chat concepts ✔️ ✔️ ✔️
Mobile push notifications with Notification Hub The Chat SDK provides APIs allowing clients to be notified for incoming messages and other operations occurring in a chat thread by connecting an Azure Notification Hub to your Communication Services resource. In situations where your mobile app is not running in the foreground, patterns are available to fire pop-up notifications ("toasts") to inform end-users, see Chat concepts. ✔️ ✔️
Reporting
(This info is available under Monitoring tab for your Communication Services resource on Azure portal)
Understand API traffic from your chat app by monitoring the published metrics in Azure Metrics Explorer and set alerts to detect abnormalities ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Monitor and debug your Communication Services solution by enabling diagnostic logging for your resource ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Note

The proprietary signaling package is implemented using web sockets. It will fallback to long polling if web sockets are unsupported.

JavaScript Chat SDK support by OS and browser

The following table represents the set of supported browsers and versions, which are currently available.

Windows macOS Ubuntu Linux Android iOS iPad OS
Chat SDK Firefox*, Chrome*, new Edge Firefox*, Chrome*, Safari* Chrome* Chrome* Chrome* Safari* Safari*

Note

The latest version is supported in addition to the previous two releases.

Next steps

The following documents may be interesting to you: