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

npm install JavaScript için Azure İletişim Hizmetleri Common ve Calling SDK'sını yüklemek için 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 CallClient bir örnek oluşturduğunuzda, örneği gibi Logger özel seçeneklerle yapılandırabilirsiniz.

örneğiyleCallClient, çağrısı createCallAgentyaparak bir CallAgent örnek oluşturabilirsiniz. Bu yöntem zaman uyumsuz olarak bir CallAgent örnek nesnesi döndürür.

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

öğesine erişmek deviceManageriçin örnekteki CallClient yöntemini kullanabilirsinizgetDeviceManager.

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ı en iyi şekilde 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 iki olası durumu vardır Call Agent :

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 Durumların Disconnected connectionStatue değeri, SDK'nın düzgün bağlanmasını engelleyen bir sorun var. Call Agent yeniden oluşturulmalıdır.

  • invalidToken: Belirtecin süresi dolduysa veya geçersiz Call Agent örnekse bu hatayla bağlantı kesilir.
  • connectionIssue: İstemcinin Microsoft infrascture'a bağlanmasıyla ilgili bir sorun varsa, birçok yeniden denemeden Call Agent sonra hata ortaya connectionIssue çıkar.

Özelliğin geçerli değerini connectionState inceleyerek yerel Call Agent bilgisayarınızın Microsoft altyapısına bağlı olup olmadığını denetleyebilirsiniz. Etkin bir çağrı sırasında, Bağlı durumundan connectionStateChanged Bağlantısız duruma gelen değişikliklerin olup olmadığını Call Agent belirlemek için olayı dinleyebilirsiniz.

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 join katılmak için yöntemini kullanın ve toplantı bağlantısını veya toplantının koordinatlarını geçirin.

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ı için, tek sayfalı bir WinUI 3 uygulaması ayarlamak için Boş Uygulama, Paketlenmiş (Masaüstünde WinUI 3) şablonuyla 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. Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
  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.WindowsClient 1.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 altında 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. Geçiş kodu büyük/küçük harfe duyarlıdır.

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

, TeamsMeetingLinkLocator Teams toplantısının bağlantısını 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ı

düzenleyici TeamsMeetingCoordinatesLocator 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 kullanarak CallAgent.join bir Teams toplantısına katılmak için bunu kullanabilirsiniz.

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ı için, tek sayfalı bir WinUI 3 uygulaması ayarlamak için Boş Uygulama, Paketlenmiş (Masaüstünde WinUI 3) şablonuyla 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. Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
  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.WindowsClient 1.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 CallAgent.join ve ve JoinMeetingLocator geçirin JoinCallOptions.

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 altında 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. Geçiş kodu büyük/küçük harfe duyarlıdır.

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

, TeamsMeetingLinkLocator Teams toplantısının bağlantısını 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 kullanarak CallAgent.join bir Teams toplantısına katılmak için bunu kullanabilirsiniz.

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ı için, tek sayfalı bir WinUI 3 uygulaması ayarlamak için Boş Uygulama, Paketlenmiş (Masaüstünde WinUI 3) şablonuyla 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. Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
  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.WindowsClient 1.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 CallAgent.JoinAsync ve ve JoinMeetingLocator geçirin JoinCallOptions.

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 altında 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. Geçiş kodu büyük/küçük harfe duyarlıdır.

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

, TeamsMeetingLinkLocator Teams toplantısının bağlantısını 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ı

düzenleyici TeamsMeetingCoordinatesLocator 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 kullanarak CallAgent.JoinAsync bir Teams toplantısına katılmak için bunu kullanabilirsiniz.

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