Azure Communication Signaling client library for JavaScript
The Azure Communication Signaling client library lets developers add real-time notifications for receiving new/update/delete chat message events, typing indicator event, read receipt event, and chat thread events.
Read more about Azure Communication Services here
Getting started
Prerequisites
Installing
npm install @azure/communication-signaling
Browser support
JavaScript Bundle
This client library is only supported in the browser. To use this client library, first you need to use a bundler. For details on how to do this, please refer to our bundling documentation.
Key concepts
SignalingClient
SignalingClient
is the primary interface for developers using this client library. It provides methods to enable/disable real-time notifications and register listeners for different events.
Examples
Initialize SignalingClient
Use user access token and Azure logger to initialize signaling client.
import { CommunicationSignalingClient } from '@azure/communication-signaling';
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
import { createClientLogger } from "@azure/logger";
let userAccessToken = '<USER_ACCESS_TOKEN>';
let tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
let logger = createClientLogger("communication-signaling");
let signalingClient = new CommunicationSignalingClient(tokenCredential, logger);
Enable real-time notifications
signalingClient.start();
Disable real-time notifications
signalingClient.stop();
Register listener to events
With real-time signaling, you can subscribe to listen for new incoming events and call your own business logic accordingly.
signalingClient.on("chatMessageReceived", (payload) => {
console.log("Notification chatMessageReceived!");
});
signalingClient.on("typingIndicatorReceived", (payload) => {
console.log("Notification typingIndicatorReceived!");
});
signalingClient.on("chatThreadDeleted", (payload) => {
console.log("Notification chatThreadDeleted!");
});