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 koncentruje się na wywoływaniu zestawu SDK klienta, który można osadzać w witrynach internetowych i aplikacjach natywnych. Ta strona zawiera szczegółowe opisy funkcji klienta wywoływania, takich jak informacje o obsłudze platformy i przeglądarki. Usługi programowo zarządzają wywołaniami i uzyskują dostęp przy użyciu interfejsów API usługi Call Automation. Interfejs API rooms to opcjonalny interfejs API usług Azure Communication Services, który dodaje dodatkowe funkcje do połączenia głosowego lub wideo, takiego jak role i uprawnienia.
Aby utworzyć własne środowisko użytkownika za pomocą zestawu Sdk wywołującego, zapoznaj się z przykładami z przewodnikami Szybki start i Wywoływanie elementów hero.
Jeśli chcesz uzyskać pomoc dotyczącą środowiska użytkownika końcowego, biblioteka interfejsu użytkownika usług Azure Communication Services udostępnia kolekcję składników interfejsu użytkownika gotowych do produkcji typu open source do porzucenia w aplikacji. 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ź witrynę przeglądu.
Po rozpoczęciu programowania zapoznaj się ze stroną znanych problemów, aby znaleźć usterki, nad którymi pracujemy.
Linki zestawu SDK
Platforma | Sieć 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 multimediów — zestaw SDK wywołujący udostępnia narzędzia do wiązania z urządzeniami audio i wideo, koduje zawartość do wydajnego przesyłania danych za pośrednictwem płaszczyzny danych komunikacji i renderuje zawartość do urządzeń wyjściowych i widoków, które określisz. Interfejsy API są również udostępniane do udostępniania ekranu i aplikacji.
- PSTN — zestaw SDK wywołujący może inicjować połączenia głosowe przy użyciu tradycyjnej publicznie przełączonej sieci telefonicznej przy użyciu numerów telefonów uzyskanych w witrynie Azure Portal lub programowo. Możesz również korzystać z własnych numerów przy użyciu kontrolerów obramowania sesji.
- Spotkania i połączenia w usłudze Teams — zestaw SDK wywołujący może dołączać do spotkań usługi Teams i wchodzić w interakcje z płaszczyzną danych głosowych i wideo usługi 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 obsługi 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 wywoływaniu interfejsów API, które zapewniają klientom wgląd w to, kto jest połączony z wywołaniem (skład).
- 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 — zestaw SDK wywołujący udostępnia interfejsy API umożliwiające klientom powiadamianie o wywołaniu przychodzącym. W sytuacjach, gdy aplikacja nie jest uruchomiona na pierwszym planie, wzorce są dostępne do uruchamiania wyskakujących powiadomień ("wyskakujących ") w celu informowania użytkowników końcowych o przychodzącym wywołaniu.
- Statystyki multimediów — zestaw SDK wywołujący 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 wideo — zestaw SDK wywołujący udostępnia interfejsy API, które umożliwiają regulację jakości wideo między innymi parametrami podczas wywołań wideo przez dostosowanie parametrów , takich jak rozdzielczość i szybkość klatek obsługujących różne sytuacje wywołania dla różnych poziomów jakości wideo
- Diagnostyka użytkownika (UFD) — zestaw SDK wywołujący udostępnia zdarzenia , które zostały zaprojektowane w celu zapewnienia szczegółowych informacji na temat podstawowych problemów, które mogą mieć wpływ na jakość wywołań. 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 wywołania.
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 | Możliwość | JS | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Podstawowe możliwości | Umieść jedno-do-jednego wywołania między dwoma użytkownikami | ✔️ | ✔️ | ✔️ | ✔️ |
Umieść wywołanie grupy 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łączanie do wywołania grupy po rozpoczęciu | ✔️ | ✔️ | ✔️ | ✔️ | |
Zaproś innego uczestnika VoIP, aby dołączyć do trwającego połączenia grupowego | ✔️ | ✔️ | ✔️ | ✔️ | |
Sterowanie wywołaniem środkowym | Włączanie/wyłączanie wideo | ✔️ | ✔️ | ✔️ | ✔️ |
Wycisz/Wycisz mikrofon | ✔️ | ✔️ | ✔️ | ✔️ | |
Wycisz innych uczestników | ✔️ | ✔️1 | ✔️1 | ✔️1 | |
Przełączanie między kamerami | ✔️ | ✔️ | ✔️ | ✔️ | |
Blokada lokalna/un-hold | ✔️ | ✔️ | ✔️ | ✔️ | |
Głośnik aktywny | ✔️ | ✔️ | ✔️ | ✔️ | |
Wybieranie osoby mówiącej na potrzeby połączeń | ✔️ | ✔️ | ✔️ | ✔️ | |
Wybieranie mikrofonu dla połączeń | ✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż stan uczestnika Bezczynne, wczesne media, Łączenie, Połączone, Wstrzymane, W lobby, Rozłączone |
✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż stan wywołania Wczesne nośniki, przychodzące, łączenie, dzwonienie, podłączanie, blokada, rozłączanie, rozłączanie |
✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż, czy uczestnik jest wyciszony | ✔️ | ✔️ | ✔️ | ✔️ | |
Pokaż przyczynę opuszczenia połączenia przez uczestnika | ✔️ | ✔️ | ✔️ | ✔️ | |
Udostępnianie ekranu | Udostępnianie całego ekranu z poziomu aplikacji | ✔️ | ✔️cyfra arabska | ✔️cyfra arabska | ✔️cyfra arabska |
Udostępnianie określonej aplikacji (z listy uruchomionych aplikacji) | ✔️ | ✔️cyfra arabska | ❌ | ❌ | |
Udostępnianie karty przeglądarki internetowej z listy otwartych kart | ✔️ | ||||
Udostępnianie dźwięku systemowego podczas udostępniania ekranu | ✔️ | ❌ | ❌ | ❌ | |
Uczestnik może wyświetlać udział ekranu zdalnego | ✔️ | ✔️ | ✔️ | ✔️ | |
Planu | Lista uczestników | ✔️ | ✔️ | ✔️ | ✔️ |
Usuwanie uczestnika | ✔️ | ✔️ | ✔️ | ✔️ | |
Sieć PSTN | Umieszczanie połączenia jeden do jednego z uczestnikiem PSTN | ✔️ | ✔️ | ✔️ | ✔️ |
Umieszczanie połączenia grupowego z uczestnikami PSTN | ✔️ | ✔️ | ✔️ | ✔️ | |
Podwyższanie poziomu połączenia jeden do jednego z uczestnikiem PSTN w wywołaniu grupy | ✔️ | ✔️ | ✔️ | ✔️ | |
Wybieranie numerów z połączenia grupowego jako uczestnika 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 | ✔️ | ✔️ | ✔️ | ✔️ |
Pobieranie listy aparatów | ✔️ | ✔️ | ✔️ | ✔️ | |
Ustawianie aparatu | ✔️ | ✔️ | ✔️ | ✔️ | |
Pobieranie wybranego aparatu | ✔️ | ✔️ | ✔️ | ✔️ | |
Pobieranie listy mikrofonów | ✔️ | ✔️ | ❌3 | ❌3 | |
Ustawianie mikrofonu | ✔️ | ✔️ | ❌3 | ❌3 | |
Pobieranie wybranego mikrofonu | ✔️ | ✔️ | ❌3 | ❌3 | |
Pobieranie listy prelegentów | ✔️ | ✔️ | ❌3 | ❌3 | |
Ustaw głośnik | ✔️ | ✔️ | ❌3 | ❌3 | |
Pobieranie wybranego głośnika | ✔️ | ✔️ | ❌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 muzyki | ❌ | ✔️ | ✔️ | ✔️ |
Anulowanie echa | ❌ | ✔️ | ✔️ | ✔️ | |
Tłumienie szumów | ✔️ | ✔️ | ✔️ | ✔️ | |
Automatyczna kontrola przyrostka (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Powiadomienia 4 | Powiadomienia wypychane do aplikacji | ✔️ | ✔️ | ✔️ | ✔️ |
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, zapoznaj się z przewodnikiem Szybki start dotyczącym dostępu do nieprzetworzonych multimediów.
3 Zestaw SDK wywołujący nie ma jawnego interfejsu API dla tych funkcji. Zamiast tego należy użyć interfejsów API systemu operacyjnego 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 zestawu SDK wywoływania w języku JavaScript 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 wywoływany zestaw SDK obsługuje tylko element WebView systemu Android w systemie Android, 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
.
Osadzanie zestawu SDK wywołującego usługi Communication Services w elemecie iframe
Nowe zasady uprawnień (nazywane również zasadami funkcji) są dostępne w różnych przeglądarkach. Te zasady wpływają na scenariusze wywoływania przez kontrolowanie sposobu, w jaki aplikacje mogą uzyskiwać dostęp do aparatu i mikrofonu urządzenia za pomocą elementu iframe między źródłami.
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 zestawu ANDROID Calling SDK
- Obsługa interfejsu API systemu 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 przez wizytę na obsługiwanych platformach Android
Obsługa zestawu SDK wywoływania systemu 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, uczestnicy, którzy osiągną maksymalny okres trwania połączenia wynoszący 30 godzin, zostaną odłączni od połączenia.
Obsługiwana liczba przychodzących strumieni wideo
Zestaw SDK wywołujący usługi Azure Communication Services obsługuje następujące konfiguracje przesyłania strumieniowego:
Limit | Internet | Windows/Android/iOS |
---|---|---|
Maksymalna liczba wychodzących lokalnych strumieni, 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 filmów wideo + 1 udostępnianie ekranu |
* Począwszy od zestawu SDK połączeń sieci Web usług Azure Communication Services w wersji 1.16.3 Podczas gdy zestaw SDK wywołujący nie wymusza tych limitów, użytkownicy mogą doświadczyć obniżenia wydajności, jeśli zostaną przekroczone. Użyj interfejsu API optymalnej liczby wideo, aby określić, ile bieżących przychodzących strumieni wideo może obsługiwać środowisko internetowe. Aby prawidłowo obsługiwać 16 przychodzących wideo, komputer powinien mieć mimimum 16 GB pamięci RAM i 4-rdzeniowy lub większy procesor, który nie jest starszy niż 3 lata
Obsługiwane rozwiązania wideo
Zestaw SDK wywołujący usługi Azure Communication Services automatycznie dostosowuje rozdzielczości strumieni wideo i udostępniania ekranu podczas wywołania.
Uwaga
Rozwiązanie może się różnić w zależności od liczby uczestników wywołania, ilości przepustowości dostępnej dla klienta, możliwości sprzętu lokalnego uczestnika, który renderuje zdalną passę wideo i inne ogólne parametry wywołania.
Zestaw SDK wywołujący usługi Azure Communication Services obsługuje wysyłanie następujących rozwiązań wideo
Maksymalna rozdzielczość wideo | WebJS | iOS | Android | Okna |
---|---|---|---|---|
Wysyłanie wideo | 720P | 720P | 720P | 1080P |
Wysyłanie udziału ekranu | 1080P | 1080P | 1080P | 1080P |
Odbieranie zdalnego strumienia wideo lub udziału ekranu | 1080P | 1080P | 1080P | 1080P |
Liczba uczestników w ramach pomocy technicznej z wezwaniem
- Do 350 użytkowników można dołączyć do połączenia grupowego, pokoju lub usługi Teams + ACS.
- Gdy rozmiar połączenia osiągnie 100+ uczestników połączenia, można zobaczyć tylko 4 najbardziej dominujących głośników, które mają swoją kamerę wideo.
- Gdy liczba osób na wywołaniu wynosi 100+, widoczna liczba przychodzących wideo automatycznie zmniejsza się z 4x4 (16 przychodzących filmów wideo) do 2x2 (4 przychodzące wideo).
- Gdy liczba użytkowników przekroczy 100, liczba obsługiwanych przychodzących filmów wideo sięga maksymalnie 4x4 (16 przychodzących filmów wideo).
Przekroczenia limitu czasu zestawu SDK wywoływania
Następujące limity czasu dotyczą zestawów SDK wywołujących usługi komunikacyjne:
Akcja | Limit czasu 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 transferu wywołań | 60 |
1:1 przekroczenie limitu czasu połączenia z zakładem | 85 |
Limit czasu połączenia grupowego | 85 |
Limit czasu połączenia PSTN | 210 |
Podwyższanie poziomu połączenia 1:1 do limitu czasu wywołania grupy | 210 |
Następne kroki
Aby uzyskać więcej informacji, zobacz następujące 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.
- Planowanie rozwiązania PSTN