Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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ılmış 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
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 sonraCall AgentconnectionIssuehatası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:
- 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.
- 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.WindowsClient1.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 , 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);
Toplantı bağlantısı
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:
- 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.
- 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.WindowsClient1.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 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)
Toplantı bağlantısı
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:
- 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.
- 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.WindowsClient1.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 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);
Toplantı bağlantısı
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);