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
- An Azure subscription.
- An existing Communication Services resource. If you need to create the resource, you can use the Azure Portal, the Azure PowerShell, or the Azure CLI.
- Node.js
npm install @azure/communication-signaling
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.
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.
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);
signalingClient.start();
signalingClient.stop();
With real-time signaling, you can subscribe to listen for new incoming events and call your own business logic accordingly.
// register listener to new incoming message event
signalingClient.on("chatMessageReceived", (payload) => {
console.log("Notification chatMessageReceived!");
// your code here
});
// register listener to typing indicator event
signalingClient.on("typingIndicatorReceived", (payload) => {
console.log("Notification typingIndicatorReceived!");
// your code here
});
// register listener to thread deleted event
signalingClient.on("chatThreadDeleted", (payload) => {
console.log("Notification chatThreadDeleted!");
// your code here
});