Omówienie zestawu SDK rozmów
Usługi Azure Communication Services umożliwiają użytkownikom końcowym przeglądarki, aplikacje i usługi na prowadzenie komunikacji głosowej i wideo. Ta strona jest poświęcona zestawowi SDK klienta Calling, który można osadzać w witrynach internetowych i aplikacjach natywnych. Ta strona zawiera szczegółowe opisy funkcji klienta dzwonienia, takich jak informacje dotyczące wsparcia platform i przeglądarek. Usługi zarządzają programowo i uzyskują dostęp do wywołań przy użyciu interfejsów API Call Automation. Opcjonalny interfejs Rooms API w usługach Azure Communication Services dodaje więcej funkcji do połączenia głosowego lub wideo, takich jak role i uprawnienia.
Aby stworzyć własne doświadczenie użytkownika z SDK do wywołań, zapoznaj się z Szybkim startem wywołań lub Przykładem hero wywołań.
Jeśli chcesz uzyskać pomoc dotyczącą doświadczenia użytkownika końcowego, biblioteka interfejsu użytkownika usług Azure Communication Services udostępnia kolekcję komponentów typu open-source gotowych do użycia, które można łatwo zintegrować z aplikacją. Dzięki temu zestawowi wstępnie utworzonych kontrolek można tworzyć piękne środowiska komunikacyjne przy użyciu języka projektowego Fluent firmy Microsoft. Jeśli chcesz dowiedzieć się więcej o bibliotece interfejsu użytkownika, odwiedź stronę przeglądu.
Po rozpoczęciu programowania zapoznaj się ze stroną znanych problemów, aby znaleźć usterki, nad którymi pracujemy.
Linki zestawu SDK
Platforma | Web (JavaScript) | Windows (.NET) | iOS | Android | Inne |
---|---|---|---|---|---|
Wywołanie | npm | NuGet | GitHub | Maven | |
Biblioteka interfejsu użytkownika | npm | - | GitHub | GitHub | GitHub, Storybook |
Najważniejsze funkcje
- Zarządzanie urządzeniami i multimediami — SDK do obsługi wywołań udostępnia narzędzia do podłączania do urządzeń audio i wideo, koduje zawartość do wydajnego przesyłania przez warstwę komunikacyjną danych, wyświetlając zawartość na urządzeniach wyjściowych i w widokach, które określasz. Interfejsy API są również dostępne do udostępniania ekranu i aplikacji.
- PSTN — SDK połączeń może inicjować połączenia głosowe z wykorzystaniem tradycyjnej publicznie przełączonej sieci telefonicznej, używając numerów telefonów zdobytych w portalu Azure lub programowo. Możesz również korzystać z własnych numerów przy użyciu kontrolerów obramowania sesji.
- Spotkania i połączenia Teams - Calling SDK może dołączać do spotkań Teams i wchodzić w interakcję z płaszczyzną danych głosowych i wideo Teams.
- Szyfrowanie — zestaw SDK wywołujący szyfruje ruch i uniemożliwia manipulowanie przewodem.
- Adresowanie — usługi Azure Communication Services udostępniają ogólne tożsamości, które są używane do adresowania punktów końcowych komunikacji. Klienci używają tych tożsamości do uwierzytelniania w usłudze i komunikowania się ze sobą. Te tożsamości są używane w interfejsach API do komunikacji, które zapewniają klientom wgląd w to, kto jest połączony z rozmową (lista uczestników).
-
Zabezpieczenia dostępu użytkowników
- Kontrola listy, kontrola harmonogramu i role/uprawnienia użytkownika są wymuszane za pośrednictwem usługi Virtual Rooms.
- Możliwość zainicjowania nowego wywołania przez użytkownika lub dołączenia do istniejącego wywołania można zarządzać za pomocą tożsamości użytkowników i tokenów
- Powiadomienia — SDK do obsługi połączeń udostępnia interfejsy API, które umożliwiają powiadomienie klientów o połączeniu przychodzącym. W sytuacjach, gdy aplikacja nie jest uruchomiona na pierwszym planie, dostępne są wzorce do wyświetlania powiadomień ("toasty") w celu informowania użytkowników końcowych o przychodzącym połączeniu.
- Statystyki multimediów — SDK Calling zapewnia kompleksowy wgląd w metryki połączeń VoIP i wideo. Dzięki tym informacjom deweloperzy mają jaśniejszą wiedzę na temat jakości połączeń i mogą podejmować świadome decyzje w celu dalszego ulepszania środowiska komunikacji.
- Ograniczenia dotyczące wideo — Zestaw SDK do wywołań udostępnia interfejsy API, które umożliwiają regulację jakości wideo oraz innych parametrów podczas połączeń wideo poprzez dostosowanie parametrów, takich jak rozdzielczość i liczba klatek na sekundę, obsługując różne sytuacje połączeń dla zróżnicowanych poziomów jakości wideo.
- Diagnostyka dla użytkownika (UFD) — SDK wywołań dostarcza zdarzenia, które zostały zaprojektowane w celu dostarczania informacji na temat problemów, które mogą wpływać na jakość połączeń. Deweloperzy mogą subskrybować wyzwalacze, takie jak słabe sygnały sieciowe lub wyciszone mikrofony, zapewniając, że zawsze są świadomi wszelkich czynników wpływających na połączenia.
- Tekst w czasie rzeczywistym (RTT) - Tekst w czasie rzeczywistym (RTT) zapewnia deweloperom możliwość przesyłania tekstu niemal w czasie rzeczywistym podczas wywołania. Funkcja ta została zaprojektowana, aby wspierać osoby mające trudności z mówieniem, zapewniając, że ich wiadomości tekstowe są wyraźnie widoczne dla innych uczestników spotkania, podobnie jak komunikacja ustna.
Szczegółowe możliwości
Na poniższej liście przedstawiono zestaw funkcji, które są obecnie dostępne w zestawach SDK wywołujących usługi Azure Communication Services.
Grupa funkcji | Zdolność | JS | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Podstawowe możliwości | Nawiąż połączenie jeden na jeden między dwoma użytkownikami | ✔️ | ✔️ | ✔️ | ✔️ |
Zainicjuj połączenie grupowe z więcej niż dwoma użytkownikami (do 100 użytkowników) | ✔️ | ✔️ | ✔️ | ✔️ | |
Podwyższanie poziomu połączenia jeden do jednego z dwoma użytkownikami w wywołaniu grupy z więcej niż dwoma użytkownikami | ✔️ | ✔️ | ✔️ | ✔️ | |
Dołącz do grupowego połączenia po jego rozpoczęciu | ✔️ | ✔️ | ✔️ | ✔️ | |
Zaproś innego uczestnika VoIP, aby dołączyć do trwającego połączenia grupowego | ✔️ | ✔️ | ✔️ | ✔️ | |
Kontrola w trakcie połączenia | Włączanie/wyłączanie wideo | ✔️ | ✔️ | ✔️ | ✔️ |
Wycisz/Odblokuj mikrofon | ✔️ | ✔️ | ✔️ | ✔️ | |
Wycisz innych uczestników | ✔️ | ✔️1 | ✔️1 | ✔️1 | |
Przełączanie między kamerami | ✔️ | ✔️ | ✔️ | ✔️ | |
Zablokuj/odblokuj lokalnie | ✔️ | ✔️ | ✔️ | ✔️ | |
Głośnik aktywny | ✔️ | ✔️ | ✔️ | ✔️ | |
Wybieranie osoby mówiącej na potrzeby połączeń | ✔️ | ✔️ | ✔️ | ✔️ | |
Wybieranie mikrofonu dla połączeń | ✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż stan uczestnika Bezczynność, Wczesne media, Łączenie się, Połączenie, Na holdzie, W lobby, Rozłączone |
✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż stan połączenia Wczesne media, połączenie przychodzące, łączenie, dzwonienie, połączony, wstrzymanie, rozłączanie, rozłączony |
✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż, czy uczestnik jest wyciszony | ✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż przyczynę opuszczenia połączenia przez uczestnika | ✔️ | ✔️ | ✔️ | ✔️ | |
Udostępnianie ekranu | Udostępnianie całego ekranu z poziomu aplikacji | ✔️ | ✔️2 | ✔️2 | ✔️2 |
Udostępnianie określonej aplikacji (z listy uruchomionych aplikacji) | ✔️ | ✔️2 | ❌ | ❌ | |
Udostępnij kartę przeglądarki internetowej z listy otwartych kart | ✔️ | ||||
Udostępnianie dźwięku systemowego podczas udostępniania ekranu | ✔️ | ❌ | ❌ | ❌ | |
Uczestnik może wyświetlać zdalne udostępnianie ekranu. | ✔️ | ✔️ | ✔️ | ✔️ | |
Lista | Lista uczestników | ✔️ | ✔️ | ✔️ | ✔️ |
Usuwanie uczestnika | ✔️ | ✔️ | ✔️ | ✔️ | |
Publiczna Stacjonarna Sieć Telefoniczna (PSTN) | Nawiąż połączenie jeden na jeden z uczestnikiem PSTN | ✔️ | ✔️ | ✔️ | ✔️ |
Wykonaj połączenie grupowe z uczestnikami PSTN | ✔️ | ✔️ | ✔️ | ✔️ | |
Zamień połączenie jeden do jednego z uczestnikiem PSTN na połączenie grupowe | ✔️ | ✔️ | ✔️ | ✔️ | |
Wyjście z połączenia grupowego jako uczestnik PSTN | ✔️ | ✔️ | ✔️ | ✔️ | |
Obsługa wczesnych mediów | ✔️ | ✔️ | ✔️ | ✔️ | |
Ogólne | Przetestuj mikrofon, głośnik i kamerę za pomocą usługi testowania dźwięku (dostępnej przez wywołanie 8:echo123) | ✔️ | ✔️ | ✔️ | ✔️ |
Zarządzanie urządzeniami | Poproś o uprawnienie do korzystania z dźwięku i/lub wideo | ✔️ | ✔️ | ✔️ | ✔️ |
Pobierz listę aparatów | ✔️ | ✔️ | ✔️ | ✔️ | |
Ustaw aparat | ✔️ | ✔️ | ✔️ | ✔️ | |
Uzyskaj wybrany aparat | ✔️ | ✔️ | ✔️ | ✔️ | |
Pobierz listę mikrofonów | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Ustawianie mikrofonu | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Uzyskaj wybrany mikrofon | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Pobieranie listy prelegentów | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Ustaw głośnik | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Uzyskaj wybrany głośnik | ✔️ | ✔️ | ❌ 3 | ❌ 3 | |
Renderowanie wideo | Renderowanie pojedynczego wideo w wielu miejscach (kamera lokalna lub strumień zdalny) | ✔️ | ✔️ | ✔️ | ✔️ |
Ustawianie/aktualizowanie trybu skalowania | ✔️ | ✔️ | ✔️ | ✔️ | |
Renderowanie zdalnego strumienia wideo | ✔️ | ✔️ | ✔️ | ✔️ | |
Efekty wideo | Rozmycie tła | ✔️ | ✔️ | ✔️ | ✔️ |
Niestandardowy obraz tła | ✔️ | ✔️ | ✔️ | ✔️ | |
Efekty dźwiękowe | Tryb muzyczny | ❌ | ✔️ | ✔️ | ✔️ |
Anulowanie echa | ❌ | ✔️ | ✔️ | ✔️ | |
Tłumienie szumów | ✔️ | ✔️ | ✔️ | ✔️ | |
Automatyczna regulacja wzmocnienia (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Dostępność | Tekst w czasie rzeczywistym (RTT) | ✔️ | ✔️ | ✔️ | ✔️ |
Powiadomienia 4 | Powiadomienia push | ✔️ | ✔️ | ✔️ | ✔️ |
Kontekst niestandardowy | Dodawanie nagłówków user-to-User (UUI) lub niestandardowych do wywołania | ✔️ | ❌ | ❌ | ❌ |
1 Możliwość wyciszenia innych jest obecnie dostępna w publicznej wersji zapoznawczej.
2 Możliwość udostępniania ekranu można osiągnąć przy użyciu interfejsów API nieprzetworzonych multimediów. Aby dowiedzieć się więcej, zobacz przewodnik Szybki start dotyczący dostępu do nieprzetworzonych multimediów.
3 SDK Calling nie ma jawnego interfejsu API dla tych funkcji. Zamiast tego, użyj API systemów operacyjnych Android i iOS.
4 Wartość maksymalna czasu wygaśnięcia na platformach natywnych wynosi 180 dni (15 552 000 sekund), a wartość minimalna to 5 minut (300 sekund). W przypadku CTE (niestandardowy punkt końcowy usługi Teams)/M365 Tożsamość maksymalna wartość czasu wygaśnięcia wynosi 24 godziny (86 400 sekund).
Obsługa JavaScript Calling SDK przez system operacyjny i przeglądarkę
W poniższej tabeli przedstawiono zestaw obsługiwanych przeglądarek, które są obecnie dostępne. Obsługujemy najnowsze trzy główne wersje przeglądarki (najnowsze trzy wersje pomocnicze dla przeglądarki Safari), chyba że wskazano inaczej.
Platforma | Chrome | Safari | Edge | Firefox | Widok internetowy | Electron |
---|---|---|---|---|---|---|
Android | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
iOS | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Windows | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Ubuntu/Linux | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
- Udostępnianie ekranu wychodzącego nie jest obsługiwane w przeglądarkach mobilnych systemu iOS ani Android.
- Obsługa przeglądarki Firefox jest dostępna w publicznej wersji zapoznawczej.
- Obecnie zestaw SDK do wywoływania obsługuje tylko element WebView systemu Android oraz iOS WebView (WKWebView) w publicznej wersji zapoznawczej. Inne typy przeglądarek osadzonych lub WebView na innych platformach systemu operacyjnego nie są oficjalnie obsługiwane, na przykład GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. Uruchamianie zestawu JAVAScript Calling SDK na tych platformach nie jest aktywnie testowane, ale może nie działać.
- Aplikacja systemu iOS w przeglądarce Safari nie może wyliczyć/wybrać mikrofonu i urządzeń głośnikowych (na przykład Bluetooth). Ten problem jest ograniczeniem systemu iOS, a system operacyjny kontroluje wybór domyślnego urządzenia.
Wywoływanie klienta — model zabezpieczeń przeglądarki
Korzystanie z usługi WebRTC za pośrednictwem protokołu HTTPS
Interfejsy API webRTC, takie jak getUserMedia
wymagają, aby aplikacja, która wywołuje te interfejsy API, była obsługiwana za pośrednictwem protokołu HTTPS. W przypadku programowania lokalnego można użyć polecenia http://localhost
.
Umieść zestaw SDK wywołań usług Communication Services w elemencie iframe
Nowe zasady uprawnień (nazywane również zasadami funkcji) są dostępne w różnych przeglądarkach. Ta polityka wpływa na scenariusze wywołań, poprzez kontrolę tego, jak aplikacje mogą uzyskiwać dostęp do aparatu i mikrofonu urządzenia za pomocą elementu iframe między domenami.
Jeśli chcesz użyć elementu iframe do hostowania części aplikacji z innej domeny, musisz dodać allow
atrybut z poprawną wartością do elementu iframe.
Na przykład ten element iframe umożliwia dostęp zarówno do aparatu, jak i mikrofonu:
<iframe allow="camera *; microphone *">
Obsługa SDK dzwonienia dla Androida
- Obsługa API Android w wersji 21 lub nowszej
- Obsługa języka Java 7 lub nowszego
- Obsługa programu Android Studio 2.0
Zdecydowanie zalecamy identyfikowanie i weryfikowanie scenariusza, odwiedzając obsługiwane platformy Android
Obsługa SDK połączeń dla iOS
- Obsługa systemu iOS 10.0 lub nowszego w czasie kompilacji oraz systemu iOS 12.0+ w czasie wykonywania
- Xcode 12.0+
- Obsługa systemu iPadOS 13.0 lub nowszego
Maksymalny czas trwania wywołania
Maksymalny czas trwania połączenia to 30 godzin , a uczestnicy, którzy osiągną maksymalny okres trwania połączenia wynoszący 30 godzin, są odłączone od połączenia.
Obsługiwana liczba przychodzących strumieni wideo
Zestaw SDK do wywołań usługi Azure Communication Services obsługuje następujące konfiguracje przesyłania strumieniowego:
Ograniczenie | Internet | Windows/Android/iOS |
---|---|---|
Maksymalna liczba lokalnych strumieni wychodzących, które można wysyłać jednocześnie | 1 klip wideo i 1 udostępnianie ekranu | 1 klip wideo + 1 udostępnianie ekranu |
Maksymalna liczba przychodzących strumieni zdalnych, które można renderować jednocześnie | 16 filmów wideo + 1 udostępnianie ekranu w przeglądarkach klasycznych*, 4 filmy wideo + 1 udostępnianie ekranu w przeglądarkach mobilnych sieci Web | 9 wideo + 1 udostępnianie ekranu |
* Począwszy od zestawu SDK połączeń internetowych usług Azure Communication Services w wersji 1.16.3. SDK wywoływania nie wymusza tych limitów, ale jeśli zostaną przekroczone, użytkownicy mogą doświadczyć obniżenia wydajności. Użyj API Optimal Video Count, aby określić liczbę przychodzących strumieni wideo, które Twoje środowisko internetowe może obsługiwać. Aby prawidłowo obsługiwać 16 przychodzących filmów wideo, komputer potrzebuje co najmniej 16 GB pamięci RAM i 4-rdzeniowego lub większego procesora, który ma mniej niż 3 lata.
Obsługiwane rozdzielczości wideo
Zestaw SDK do połączeń usługi Azure Communication Services automatycznie dostosowuje rozdzielczości strumieni wideo i udostępniania ekranu podczas połączenia.
Uwaga
Rozdzielczość może się różnić w zależności od liczby uczestników rozmowy, ilości przepustowości dostępnej dla klienta, możliwości sprzętu lokalnego uczestnika renderującego zdalne strumienie wideo oraz innych ogólnych parametrów rozmowy.
Zestaw SDK do wywołań usługi Azure Communication Services obsługuje wysyłanie następujących rozdzielczości wideo
Maksymalna rozdzielczość wideo | WebJS | iOS | Android | Windows |
---|---|---|---|---|
Wysyłanie wideo | 720P | 720P | 720P | 1080P |
Wysyłanie udziału ekranu | 1080P | 1080P | 1080P | 1080P |
Odbieranie zdalnego strumienia wideo lub udostępniania ekranu | 1080P | 1080P | 1080P | 1080P |
Liczba uczestników na wsparciu telefonicznym
- Do 350 użytkowników można dołączyć do połączenia grupowego, połączenia pokoju lub połączenia usługi Teams + Azure Communication Services.
- Gdy rozmiar połączenia osiągnie 100+ uczestników, zestaw Call SDK wyświetla tylko cztery najważniejsze dominujące głośniki, które mają aktywny aparat wideo.
- Gdy liczba osób w rozmowie wynosi ponad 100, liczba przychodzących wideo zmniejsza się automatycznie z 4x4 (16 przychodzących wideo) do 2x2 (4 przychodzące wideo).
- Gdy liczba użytkowników spadnie poniżej 100, liczba obsługiwanych przychodzących filmów wideo wzrośnie do 4x4 (16 przychodzących filmów wideo).
Limity czasu wywoływania zestawu SDK
Następujące limity czasu dotyczą SDK do połączeń w usłudze komunikacyjnej:
Akcja | Limit czasu oczekiwania w sekundach |
---|---|
Ponowne łączenie/usuwanie uczestnika | 60 |
Dodawanie lub usuwanie nowej modalności z wywołania (uruchamianie/zatrzymywanie udostępniania wideo lub ekranu) | 40 |
Przekroczenie limitu czasu operacji przekierowania połączeń | 60 |
1:1 przekroczenie limitu czasu ustanawiania połączenia | 85 |
Przekroczenie limitu czasu ustanawiania połączenia grupowego | 85 |
Limit czasu na ustanowienie połączenia PSTN | 115 |
Podwyższanie poziomu połączenia 1:1 do przekroczenia limitu czasu połączenia grupowego | 115 |
Następne kroki
Powiązane artykuły
- Zapoznaj się z ogólnymi przepływami wywołań.
- Dowiedz się więcej o typach wywołań.
- Dowiedz się więcej o interfejsie API automatyzacji wywołań, który umożliwia tworzenie opartych na serwerze przepływów pracy, które mogą kierować wywołania i kontrolować je za pomocą aplikacji klienckich.
- Zaplanuj swoje rozwiązanie PSTN.