Reaksi
Artikel ini menjelaskan cara menerapkan reaksi untuk SDK Panggilan Azure Communication Services. Kemampuan ini memungkinkan peserta dalam panggilan grup atau rapat untuk mengirim dan menerima reaksi dengan peserta di Azure Communication Services dan Microsoft Teams.
Pengaturan konfigurasi dan kebijakan di Microsoft Teams mengontrol reaksi untuk pengguna dalam rapat Teams. Untuk informasi selengkapnya, lihat Mengelola reaksi dalam rapat Teams dan webinar dan Opsi rapat di Microsoft Teams.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Communication Services yang disebarkan. Buat sumber daya Azure Communication Services.
- Token akses pengguna untuk mengaktifkan klien panggilan. Untuk informasi selengkapnya, lihat Membuat dan mengelola token akses.
- Opsional: Selesaikan panduan memulai untuk menambahkan panggilan suara ke aplikasi Anda.
Batasan reaksi
Sistem menarik reaksi oleh batch secara berkala. Batasan batch saat ini adalah 20.000 reaksi yang ditarik setiap 3 detik.
Jika jumlah reaksi melebihi batas, reaksi sisa dikirim dalam batch berikutnya.
Dukungan
Tabel berikut menentukan dukungan untuk reaksi di Azure Communication Services.
Dukungan rapat Teams didasarkan pada kebijakan Teams.
Identitas dan jenis panggilan
Tabel berikut menunjukkan dukungan untuk reaksi dalam jenis panggilan dan identitas yang berbeda.
Identitas | Rapat interop Teams | Ruang | Panggilan 1:1 | Panggilan grup | Panggilan Grup interop Teams |
---|---|---|---|---|---|
Pengguna Communication Services | ✔️ | ✔️ | ✔️ | ✔️ | |
Pengguna Microsoft 365 | ✔️ | ✔️ | ✔️ |
Operasional
Tabel berikut menunjukkan dukungan untuk reaksi dalam Memanggil SDK ke jenis identitas individual.
Operasional | Pengguna Communication Services | Pengguna Microsoft 365 |
---|---|---|
Kirim reaksi tertentu (seperti, cinta, tertawa, tepuk tangan, terkejut) | ✔️ | ✔️ |
Menerima reaksi tertentu (seperti, cinta, tertawa, tepuk tangan, terkejut) | ✔️ | ✔️ |
SDK
Tabel berikut ini memperlihatkan dukungan untuk fitur Mode Bersama di SDK Azure Communication Services individual.
Platform | Web | Web UI | iOS | Antarmuka pengguna iOS | Android | Android UI | Windows |
---|---|---|---|---|---|---|---|
Didukung | ✔️ | ✔️ |
Pasang SDK
npm install
Gunakan perintah untuk menginstal SDK Umum dan Panggilan Azure Communication Services untuk JavaScript:
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Menginisialisasi objek yang diperlukan
Instans CallClient
diperlukan untuk sebagian besar operasi panggilan. Saat membuat instans baru CallClient
, Anda dapat mengonfigurasinya dengan opsi kustom seperti Logger
instans.
CallClient
Dengan instans, Anda dapat membuat CallAgent
instans dengan memanggil createCallAgent
. Metode ini secara asinkron mengembalikan objek instans CallAgent
.
Metode createCallAgent
menggunakan CommunicationTokenCredential
sebagai argumen. Hal ini menerima token akses pengguna.
Anda dapat menggunakan metode getDeviceManager
pada instans CallClient
untuk mengakses deviceManager
.
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()
Cara terbaik mengelola konektivitas SDK ke infrastruktur Microsoft
Call Agent
Instans ini membantu Anda mengelola panggilan (untuk bergabung atau memulai panggilan). Untuk bekerja, SDK panggilan Anda perlu tersambung ke infrastruktur Microsoft untuk mendapatkan pemberitahuan panggilan masuk dan mengoordinasikan detail panggilan lainnya. Anda Call Agent
memiliki dua kemungkinan status:
Tersambung - Nilai Call Agent
Connected
connectionStatue berarti SDK klien terhubung dan mampu menerima pemberitahuan dari infrastruktur Microsoft.
Terputus - Nilai Call Agent
Disconnected
status connectionStatue ada masalah yang mencegah SDK menyambungkannya dengan benar. Call Agent
harus dibuat ulang.
invalidToken
: Jika token kedaluwarsa atau instans tidak validCall Agent
terputus dengan kesalahan ini.connectionIssue
: Jika ada masalah dengan klien yang terhubung ke microsoft infrascture, setelah banyak percobaanCall Agent
ulang mengeksposconnectionIssue
kesalahan.
Anda dapat memeriksa apakah lokal Call Agent
Anda tersambung ke infrastruktur Microsoft dengan memeriksa nilai connectionState
properti saat ini. Selama panggilan aktif, Anda dapat mendengarkan connectionStateChanged
acara untuk menentukan apakah Call Agent
perubahan dari status Tersambung ke Terputus .
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);
Menerapkan reaksi untuk peserta rapat
Di Azure Communication Services peserta dapat mengirim dan menerima reaksi selama panggilan grup:
- Suka
- Cinta
- Tepuk tangan
- Tertawa
- Terkejut
Untuk mengirim reaksi, gunakan sendReaction(reactionMessage)
API. Untuk menerima reaksi, pesan dibangun dengan jenis ReactionMessage
menggunakan Reaction
enum sebagai atribut.
Anda perlu berlangganan peristiwa yang menyediakan data peristiwa pelanggan:
export interface ReactionEventPayload {
/**
* identifier for a participant
*/
identifier: CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier;
/**
* reaction type received
*/
reactionMessage: ReactionMessage;
}
Anda dapat menentukan reaksi mana yang berasal dari peserta mana yang menggunakan identifier
atribut dan mendapatkan jenis reaksi dari ReactionMessage
.
Sampel memperlihatkan cara mengirim reaksi dalam rapat
const reaction = call.feature(SDK.Features.Reaction);
const reactionMessage: SDK.ReactionMessage = {
reactionType: 'like'
};
await reaction.sendReaction(reactionMessage);
Sampel memperlihatkan cara menerima reaksi dalam rapat
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));
}
Poin-poin penting saat menggunakan reaksi
- Reaksi didukung untuk skenario interoperabilitas Microsoft Teams. Dukungan didasarkan pada kebijakan Teams.
- Reaksi didukung di SDK Panggilan Web.
- Reaksi saat ini tidak didukung di SDK Asli.