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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- Çağıran istemciyi etkinleştirmek için kullanıcı erişim belirteci. Daha fazla bilgi için bkz . Erişim belirteçleri oluşturma ve yönetme.
- İsteğe bağlı: Uygulamanıza sesli çağrı eklemek için hızlı başlangıcı tamamlayın
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ı createCallAgent
yaparak 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 deviceManager
iç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çersizCall Agent
örnekse bu hatayla bağlantı kesilir.connectionIssue
: İstemcinin Microsoft infrascture'a bağlanmasıyla ilgili bir sorun varsa, birçok yeniden denemedenCall Agent
sonra hata ortayaconnectionIssue
çı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:
- Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
- Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
- Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
- 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.
- Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
- 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
, JoinMeetingLocator
ve JoinCallOptions
geç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);
Toplantı bağlantısı
, 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:
- Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
- Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
- Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
- 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.
- Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
- 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)
Toplantı bağlantısı
, 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:
- Araçlar>NuGet Paket Yöneticisi Çözüm için NuGet Paketlerini Yönet'i seçerek NuGet Paket Yöneticisi> açın.
- Gözat'ı seçin ve arama kutusuna Azure.Communication.Calling.WindowsClient yazın.
- Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
- 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.
- Sağ bölmedeki Azure İletişim Hizmetleri projeye karşılık gelen onay kutusunu seçin.
- 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);
Toplantı bağlantısı
, 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);