Reaktioner
Den här artikeln beskriver hur du implementerar reaktioner för Azure Communication Services Calling SDK:er. Med den här funktionen kan deltagare i ett gruppsamtal eller möte skicka och ta emot reaktioner med deltagare i Azure Communication Services och Microsoft Teams.
Konfigurations- och principinställningarna i Microsoft Teams styr reaktionerna för användare i Teams-möten. Mer information finns i Hantera reaktioner i Teams-möten och webbseminarier och mötesalternativ i Microsoft Teams.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- En användaråtkomsttoken för att aktivera den anropande klienten. Mer information finns i Skapa och hantera åtkomsttoken.
- Valfritt: Slutför snabbstarten för att lägga till röstsamtal i ditt program.
Begränsningar för reaktioner
Systemet hämtar reaktioner efter batchar med jämna mellanrum. Den aktuella batchbegränsningen är 20 000 reaktioner som hämtas var 3:e sekund.
Om antalet reaktioner överskrider gränsen skickas överblivna reaktioner i nästa batch.
Support
Följande tabeller definierar stöd för reaktioner i Azure Communication Services.
Teams mötessupport baseras på Teams-policy.
Identiteter och anropstyper
I följande tabell visas stöd för reaktioner i olika anrops- och identitetstyper.
Identiteter | Teams interop-möte | Rum | 1:1 samtal | Gruppsamtal | Teams interop-gruppsamtal |
---|---|---|---|---|---|
Communication Services-användare | ✔️ | ✔️ | ✔️ | ✔️ | |
Microsoft 365-användare | ✔️ | ✔️ | ✔️ |
Operations
I följande tabell visas stöd för reaktioner i Anropa SDK för enskilda identitetstyper.
Operations | Communication Services-användare | Microsoft 365-användare |
---|---|---|
Skicka specifika reaktioner (som kärlek, skratt, applåder, förvånad) | ✔️ | ✔️ |
Få specifika reaktioner (som kärlek, skratt, applåder, förvånad) | ✔️ | ✔️ |
SDK:er
I följande tabell visas stöd för funktionen Tillsammansläge i enskilda Azure Communication Services-SDK:er.
Plattformar | Webb | Webbgränssnitt | iOS | iOS-användargränssnitt | Android | Android-användargränssnitt | Windows |
---|---|---|---|---|---|---|---|
Stöds | ✔️ | ✔️ |
Installera SDK:n
npm install
Använd kommandot för att installera Azure Communication Services Common och Calling SDK för JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Initiera nödvändiga objekt
En CallClient
instans krävs för de flesta anropsåtgärder. När du skapar en ny CallClient
instans kan du konfigurera den med anpassade alternativ som en Logger
instans.
Med instansen CallClient
kan du skapa en CallAgent
instans genom att anropa createCallAgent
. Den här metoden returnerar asynkront ett CallAgent
instansobjekt.
Metoden createCallAgent
använder CommunicationTokenCredential
som argument. Den accepterar en användaråtkomsttoken.
Du kan använda getDeviceManager
metoden på instansen CallClient
för att få åtkomst deviceManager
till .
const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");
// Set the logger's log level
setLogLevel('verbose');
// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
console.log(...args); // Redirect log output to console
};
const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()
Så här hanterar du SDK-anslutning till Microsoft-infrastruktur på bästa sätt
Instansen Call Agent
hjälper dig att hantera anrop (för att ansluta eller starta samtal). För att kunna arbeta måste din anropande SDK ansluta till Microsofts infrastruktur för att få meddelanden om inkommande samtal och samordna annan samtalsinformation. Du Call Agent
har två möjliga tillstånd:
Ansluten – Ett Call Agent
connectionStatue-värde Connected
innebär att klient-SDK:t är anslutet och kan ta emot meddelanden från Microsofts infrastruktur.
Frånkopplad – Ett Call Agent
connectionStatue-värde för Disconnected
tillstånd det finns ett problem som hindrar SDK:n från att ansluta korrekt. Call Agent
ska återskapas.
invalidToken
: Om en token har upphört att gälla eller om en ogiltigCall Agent
instans kopplas från med det här felet.connectionIssue
: Om det finns ett problem med att klienten ansluter till Microsoft-infrastrukturen, efter att många återförsökCall Agent
har exponeratconnectionIssue
felet.
Du kan kontrollera om din lokala Call Agent
är ansluten till Microsofts infrastruktur genom att granska det aktuella värdet för connectionState
egenskapen. Under ett aktivt anrop kan du lyssna på connectionStateChanged
händelsen för att avgöra om Call Agent
det ändras från Anslutet till frånkopplat tillstånd.
const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'
const connectionStateCallback = (args) => {
console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
// it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);
Implementera reaktioner för mötesdeltagare
I Azure Communication Services kan deltagarna skicka och ta emot reaktioner under ett gruppsamtal:
- Tycka om
- Kärlek
- Applåd
- Skratta
- Överraskning
Använd API:et för sendReaction(reactionMessage)
att skicka en reaktion. För att få en reaktion skapas meddelandet med typen ReactionMessage
med Reaction
uppräkningar som ett attribut.
Du måste prenumerera på händelser som tillhandahåller händelsedata för prenumeranten:
export interface ReactionEventPayload {
/**
* identifier for a participant
*/
identifier: CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier;
/**
* reaction type received
*/
reactionMessage: ReactionMessage;
}
Du kan avgöra vilken reaktion som kommer från vilken deltagare som använder identifier
attributet och hämta reaktionstypen från ReactionMessage
.
Exempel som visar hur du skickar en reaktion i ett möte
const reaction = call.feature(SDK.Features.Reaction);
const reactionMessage: SDK.ReactionMessage = {
reactionType: 'like'
};
await reaction.sendReaction(reactionMessage);
Exempel som visar hur du får en reaktion i ett möte
const reaction = call.feature(SDK.Features.Reaction);
reaction.on('reaction', event => {
// user identifier
console.log("User Mri - " + event.identifier);
// received reaction
console.log("User Mri - " + event.reactionMessage.reactionType);
// reaction message
console.log("reaction message - " + JSON.stringify(event.reactionMessage));
}
Viktiga punkter vid användning av reaktioner
- Reaktioner stöds för Microsoft Teams-samverkansscenarier. Supporten baseras på Teams-policyn.
- Reaktioner stöds i SDK för webbsamtal.
- Reaktioner stöds för närvarande inte i de interna SDK:erna.