Aracılığıyla paylaş


Reaksiyon

Bu makalede, Azure İletişim Hizmetleri Çağırma SDK'ları için tepkilerin nasıl uygulandığı açıklanmaktadır. Bu özellik, bir grup araması veya toplantıdaki katılımcıların Azure İletişim Hizmetleri ve Microsoft Teams'deki katılımcılarla birlikte tepkiler göndermesine ve almasına olanak tanır.

Microsoft Teams'deki yapılandırma ve ilke ayarları, Teams toplantılarındaki kullanıcılar için tepkileri denetler. Daha fazla bilgi için bkz . Teams toplantılarında ve web seminerlerinde tepkileri yönetme ve Microsoft Teams'de Toplantı seçenekleri.

Önkoşullar

Tepki sınırları

Sistem düzenli aralıklarla toplu olarak tepkiler çeker. Geçerli toplu işlem sınırlaması her 3 saniyede bir 20.000 reaksiyon çekilebiliyor.

Reaksiyon sayısı sınırı aşarsa, kalan reaksiyonlar bir sonraki toplu işlemde gönderilir.

Destek

Aşağıdaki tablolar Azure İletişim Hizmetleri'daki tepkiler için destek tanımlar.

Teams toplantı desteği, Teams ilkesini temel alır.

Kimlikler ve çağrı türleri

Aşağıdaki tabloda farklı çağrı ve kimlik türleri için tepki desteği gösterilmektedir.

Kimlikler Teams birlikte çalışma toplantısı Oda bire bir arama Grup araması Teams birlikte çalışma Grubu Araması
İletişim Hizmetleri kullanıcısı ✔️ ✔️ ✔️ ✔️
Microsoft 365 kullanıcısı ✔️ ✔️ ✔️

Operasyonlar

Aşağıdaki tabloda Calling SDK'nın bireysel kimlik türlerine desteği gösterilmektedir.

Operasyonlar İletişim Hizmetleri kullanıcısı Microsoft 365 kullanıcısı
Belirli tepkiler gönderin (örneğin, aşk, gülme, alkış, sürpriz) ✔️ ✔️
Belirli tepkiler alın (örneğin, aşk, gülme, alkış, sürpriz) ✔️ ✔️

SDK

Aşağıdaki tabloda tek tek Azure İletişim Hizmetleri SDK'ları için Birlikte Modu özellik desteği gösterilmektedir.

Platformlar İnternet Web kullanıcı arabirimi Ios iOS kullanıcı arabirimi Android Android kullanıcı arabirimi Windows
Desteklenir ✔️ ✔️

SDK’yı yükleyin

Azure İletişim Hizmetleri Genel ve Arama SDK'sını JavaScript için yüklemek için npm install komutunu kullanın.

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Gerekli nesneleri başlatma

CallClient Çoğu çağrı işlemi için bir örnek gereklidir. Yeni bir CallClient örneği oluşturduğunuzda, tıpkı bir Logger örneği gibi, bunu özel seçeneklerle yapılandırabilirsiniz.

CallClient örneğini kullanarak, CallAgent çağrısını yaparak bir createCallAgent örneği oluşturabilirsiniz. Bu yöntem zaman uyumsuz olarak bir CallAgent örnek nesnesi döndürür.

createCallAgent yöntemi CommunicationTokenCredential'i bağımsız değişken olarak kullanır. Kullanıcı erişim belirtecini kabul eder.

getDeviceManager yöntemini CallClient örneği üzerinde kullanarak deviceManager öğesine erişebilirsiniz.

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()

Microsoft altyapısına SDK bağlantısını yönetme

Örnek, Call Agent çağrıları yönetmenize yardımcı olur (aramalara katılmak veya çağrıları başlatmak için). Arama SDK'nızın çalışması için gelen aramaların bildirimlerini almak ve diğer arama ayrıntılarını koordine etmek için Microsoft altyapısına bağlanması gerekir. Sizin Call Agent iki olası durumu vardır.

Bağlı - Call Agent connectionStatue değeri Connected , istemci SDK'sının bağlı olduğu ve Microsoft altyapısından bildirim alabilen olduğu anlamına gelir.

Bağlantısı kesildi - Call Agent bağlantıDurumu değeri, SDK'nın düzgün bağlanmasını engelleyen bir sorun olduğunu belirtir. Call Agent yeniden oluşturulmalıdır.

  • invalidToken: Belirtecin süresi dolduysa veya geçersizse, Call Agent instance bu hata nedeniyle bağlantıyı keser.
  • connectionIssue: İstemcinin Microsoft altyapısına bağlanmasıyla ilgili bir sorun varsa, birçok yeniden denemeden sonra Call AgentconnectionIssue hatasını ortaya çıkarır.

Microsoft altyapısına bağlı olup olmadığını denetlemek için Call Agent yerel bilgisayarınızdaki connectionState özelliğinin geçerli değerini inceleyebilirsiniz. connectionStateChanged olayını dinleyerek, etkin bir çağrı sırasında Call Agent durumundan Bağlantısız duruma değişiklik olup olmadığını belirleyebilirsiniz.

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);

Toplantı katılımcıları için tepkiler uygulamak

Azure İletişim Hizmetleri katılımcılar bir grup çağrısı sırasında tepki gönderebilir ve alabilir:

  • Gibi
  • Aşk
  • Alkış
  • Gülmek
  • Sürpriz

Tepki göndermek için kullanın sendReaction(reactionMessage). Bir tepki almak için, ileti tür ReactionMessage ile oluşturur ve öznitelik olarak Reaction sabit listelerini kullanır.

Abone olay verilerini sağlayan olaylara abone olmanız gerekir:

export interface ReactionEventPayload {
    /**
     * identifier for a participant
     */
    identifier: CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier;
    /**
     * reaction type received
     */
    reactionMessage: ReactionMessage;
}

Hangi katılımcıdan hangi tepkinin geldiğini identifier özelliğini kullanarak ve tepki türünü ReactionMessage'den alarak belirleyebilirsiniz.

Toplantıda tepki göndermeyi gösteren örnek

const reaction = call.feature(SDK.Features.Reaction);
const reactionMessage: SDK.ReactionMessage = {
       reactionType: 'like'
};
await reaction.sendReaction(reactionMessage);

Toplantıda tepki almayı gösteren örnek

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));
}

Tepkileri kullanırken önemli noktalar

  • Microsoft Teams birlikte çalışabilirlik senaryoları için tepkiler desteklenir. Destek, Teams ilkesini temel alır.
  • Tepkiler Web Çağrısı SDK'sında desteklenir.
  • Tepkiler şu anda Yerel SDK'larda desteklenmemektedir.

Sonraki adımlar