Aracılığıyla paylaş


Teams toplantısına katılma

Azure İletişim Hizmetleri SDK'lar, kullanıcılarınızın normal Microsoft Teams toplantılarına katılmasına izin verebilir. İşte nasıl!

Önkoşullar

SDK’yı yükleyin

Azure İletişim Hizmetleri Common ve Calling SDK'sını JavaScript için yüklemek amacıyla 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, onu Logger örneğinde olduğu gibi özel seçeneklerle yapılandırabilirsiniz.

CallClient örneğiyle, 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'yi bağımsız değişken olarak kullanır. Kullanıcı erişim belirtecini kabul eder.

getDeviceManager yöntemini CallClient örneğinde 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. Call Agent'nin 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 AgentDisconnected connectionStatue 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 dolmuşsa veya geçersizse, Call Agent örneği bu hatayla 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.

Yerel Call Agent bilgisayarınızın Microsoft altyapısına bağlı olup olmadığını, connectionState özelliğinin geçerli değerini kontrol ederek öğrenebilirsiniz. Etkin bir çağrı sırasında, connectionStateChanged olayını dinleyerek Call Agent, Bağlı durumundan Bağlantısız duruma geçiş yapıp yapmadığı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ıya katılma yöntemleri

Teams toplantısına katılmak için join yöntemini kullanarak toplantı bağlantısını veya toplantının koordinatlarını girin.

Toplantı bağlantısı kullanarak katılın:

const locator = { meetingLink: '<MEETING_LINK>'}
const call = callAgent.join(locator);

Toplantı koordinatlarını kullanarak katılın (şu anda sınırlı önizleme aşamasındadır):

const locator = {
    threadId: <thread id>,
    organizerId: <organizer id>,
    tenantId: <tenant id>,
    messageId: <message id>
}
const call = callAgent.join(locator);

Sisteminizi ayarlama

Sisteminizi ayarlamak için bu adımları izleyin.

Visual Studio projesini oluşturma

Evrensel Windows Platformu bir uygulama için Visual Studio 2022'de yeni bir Boş Uygulama (Evrensel Windows) projesi oluşturun. Proje adını girdikten sonra, 10.0.17763.0'dan sonraki bir Windows SDK'sını seçebilirsiniz.

WinUI 3 uygulaması oluşturmak için, Blank App, Packaged (WinUI 3 in Desktop) şablonunu kullanarak tek sayfalı bir WinUI 3 uygulaması ayarlamak üzere yeni bir proje oluşturun. Windows Uygulama SDK'sı sürüm 1.3 veya üzeri gereklidir.

NuGet Paket Yöneticisi kullanarak paketi ve bağımlılıkları yükleme

Arama SDK'sı API'leri ve kitaplıkları bir NuGet paketi aracılığıyla genel kullanıma sunulur.

Arama SDK'sı NuGet paketini bulmak, indirmek ve yüklemek için:

  1. NuGet Paket Yöneticisi'ni açmak için Araçlar> menüsünden NuGet Paket Yöneticisi> ardından Çözüm için NuGet Paketlerini Yönet seçeneklerini seçin.
  2. Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
  3. Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
  4. Azure.Communication.Calling.WindowsClient paketini ve ardından Azure.Communication.Calling.WindowsClient1.4.0-beta.1 veya daha yeni bir sürümü seçin.
  5. Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
  6. Yükle'yi seçin.

Toplantıya katılma yöntemleri

Teams toplantısına katılmak için yöntemini kullanın ve uygulama bağlamını CallAgent.join , JoinMeetingLocatorve JoinCallOptionsgeçirin.

Toplantı kimliği ve geçiş kodu

, TeamsMeetingIdLocator toplantı kimliğini ve geçiş kodunu kullanarak toplantıyı bulur. Bunlar, Teams toplantısının katılma bilgileri bölümünde bulunabilir. Teams toplantı kimliği 12 karakter uzunluğunda olacak ve üç olarak gruplandırılmış sayısal basamaklardan (örn. 000 000 000 000) oluşur. Geçiş kodu 6 alfabe karakterinden (örn. aBcDeF) oluşur. Şifre büyük/küçük harfe duyarlıdır.

String meetingId, passcode; 
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);

TeamsMeetingLinkLocator, bir Teams toplantısına olan bağlantıyı kullanarak toplantıyı bulur. Bu, Teams toplantısının katılma bilgileri altında bulunabilir.

String meetingLink; 
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);

Toplantı koordinatları

TeamsMeetingCoordinatesLocator düzenleyici kimliği, kiracı kimliği, iş parçacığı kimliği ve ileti kimliği kullanarak toplantıları bulur. Bu bilgiler Microsoft Graph kullanılarak bulunabilir.

Guid organizerId, tenantId;
String threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);

Bulucuları kullanarak toplantıya katılma

Bu Teams toplantı bulucularını oluşturduktan sonra, aşağıda gösterildiği gibi CallAgent.join kullanarak bir Teams toplantısına katılabilirsiniz.

JoinCallOptions options = new JoinCallOptions();
call = agent.join(
        getApplicationContext(),
        locator,
        options);

Sisteminizi ayarlama

Sisteminizi ayarlamak için bu adımları izleyin.

Visual Studio projesini oluşturma

Evrensel Windows Platformu bir uygulama için Visual Studio 2022'de yeni bir Boş Uygulama (Evrensel Windows) projesi oluşturun. Proje adını girdikten sonra, 10.0.17763.0'dan sonraki bir Windows SDK'sını seçebilirsiniz.

WinUI 3 uygulaması oluşturmak için, Blank App, Packaged (WinUI 3 in Desktop) şablonunu kullanarak tek sayfalı bir WinUI 3 uygulaması ayarlamak üzere yeni bir proje oluşturun. Windows Uygulama SDK'sı sürüm 1.3 veya üzeri gereklidir.

NuGet Paket Yöneticisi kullanarak paketi ve bağımlılıkları yükleme

Arama SDK'sı API'leri ve kitaplıkları bir NuGet paketi aracılığıyla genel kullanıma sunulur.

Arama SDK'sı NuGet paketini bulmak, indirmek ve yüklemek için:

  1. NuGet Paket Yöneticisi'ni açmak için Araçlar> menüsünden NuGet Paket Yöneticisi> ardından Çözüm için NuGet Paketlerini Yönet seçeneklerini seçin.
  2. Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
  3. Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
  4. Azure.Communication.Calling.WindowsClient paketini ve ardından Azure.Communication.Calling.WindowsClient1.4.0-beta.1 veya daha yeni bir sürümü seçin.
  5. Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
  6. Yükle'yi seçin.

Toplantıya katılma yöntemleri

Teams toplantısına katılmak için CallAgent.join yöntemini kullanın ve bir JoinMeetingLocator ile JoinCallOptions geçiriniz.

Toplantı kimliği ve geçiş kodu

, TeamsMeetingIdLocator toplantı kimliğini ve geçiş kodunu kullanarak toplantıyı bulur. Bunlar, Teams toplantısının katılma bilgileri bölümünde bulunabilir. Teams toplantı kimliği 12 karakter uzunluğunda olacak ve üç olarak gruplandırılmış sayısal basamaklardan (örn. 000 000 000 000) oluşur. Geçiş kodu 6 alfabe karakterinden (örn. aBcDeF) oluşur. Şifre büyük/küçük harfe duyarlıdır.

String meetingId, passcode
let locator = TeamsMeetingIdLocator(meetingId: meetingId, passcode: passcode)

TeamsMeetingLinkLocator, bir Teams toplantısına olan bağlantıyı kullanarak toplantıyı bulur. Bu, Teams toplantısının katılma bilgileri altında bulunabilir.

String meetingLink
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)

Bulucuları kullanarak toplantıya katılma

Bu Teams toplantı bulucularını oluşturduktan sonra, aşağıda gösterildiği gibi CallAgent.join kullanarak bir Teams toplantısına katılabilirsiniz.

func joinTeamsMeeting() {
    // Ask permissions
    AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
        if granted {
            let joinCallOptions = JoinCallOptions()
            
            // Insert meeting locator code for specific join methods here

            // for CallAgent callAgent
            self.callAgent?.join(with: teamsMeetingLinkLocator, joinCallOptions: joinCallOptions) 
        }
    }
}

Sisteminizi ayarlama

Sisteminizi ayarlamak için bu adımları izleyin.

Visual Studio projesini oluşturma

Evrensel Windows Platformu bir uygulama için Visual Studio 2022'de yeni bir Boş Uygulama (Evrensel Windows) projesi oluşturun. Proje adını girdikten sonra, 10.0.17763.0'dan sonraki bir Windows SDK'sını seçebilirsiniz.

WinUI 3 uygulaması oluşturmak için, Blank App, Packaged (WinUI 3 in Desktop) şablonunu kullanarak tek sayfalı bir WinUI 3 uygulaması ayarlamak üzere yeni bir proje oluşturun. Windows Uygulama SDK'sı sürüm 1.3 veya üzeri gereklidir.

NuGet Paket Yöneticisi kullanarak paketi ve bağımlılıkları yükleme

Arama SDK'sı API'leri ve kitaplıkları bir NuGet paketi aracılığıyla genel kullanıma sunulur.

Arama SDK'sı NuGet paketini bulmak, indirmek ve yüklemek için:

  1. NuGet Paket Yöneticisi'ni açmak için Araçlar> menüsünden NuGet Paket Yöneticisi> ardından Çözüm için NuGet Paketlerini Yönet seçeneklerini seçin.
  2. Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
  3. Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
  4. Azure.Communication.Calling.WindowsClient paketini ve ardından Azure.Communication.Calling.WindowsClient1.4.0-beta.1 veya daha yeni bir sürümü seçin.
  5. Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
  6. Yükle'yi seçin.

Toplantıya katılma yöntemleri

Teams toplantısına katılmak için CallAgent.JoinAsync yöntemini kullanın ve bir JoinMeetingLocator ile JoinCallOptions geçiriniz.

Toplantı kimliği ve geçiş kodu

, TeamsMeetingIdLocator toplantı kimliğini ve geçiş kodunu kullanarak toplantıyı bulur. Bunlar, Teams toplantısının katılma bilgileri bölümünde bulunabilir. Teams toplantı kimliği 12 karakter uzunluğunda olacak ve üç olarak gruplandırılmış sayısal basamaklardan (örn. 000 000 000 000) oluşur. Geçiş kodu 6 alfabe karakterinden (örn. aBcDeF) oluşur. Şifre büyük/küçük harfe duyarlıdır.

string meetingId, passcode; 
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);

TeamsMeetingLinkLocator, bir Teams toplantısına olan bağlantıyı kullanarak toplantıyı bulur. Bu, Teams toplantısının katılma bilgileri altında bulunabilir.

string meetingLink; 
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);

Toplantı koordinatları

TeamsMeetingCoordinatesLocator düzenleyici kimliği, kiracı kimliği, iş parçacığı kimliği ve ileti kimliği kullanarak toplantıları bulur. Bu bilgiler Microsoft Graph kullanılarak bulunabilir.

Guid organizerId, tenantId;
string threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);

Bulucuları kullanarak toplantıya katılma

Bu Teams toplantı bulucularını oluşturduktan sonra, aşağıda gösterildiği gibi CallAgent.JoinAsync kullanarak bir Teams toplantısına katılabilirsiniz.

var joinCallOptions = new JoinCallOptions() {
        OutgoingAudioOptions = new OutgoingAudioOptions() { IsMuted = true },
        OutgoingVideoOptions = new OutgoingVideoOptions() { Streams = new OutgoingVideoStream[] { cameraStream } }
    };
var call = await callAgent.JoinAsync(locator, joinCallOptions);

Sonraki adımlar