A hívási SDK áttekintése
Az Azure Communication Services lehetővé teszi a végfelhasználói böngészők, alkalmazások és szolgáltatások számára a hang- és videokommunikációt. Ez a lap az ügyféloldali SDK meghívására összpontosít, amely beágyazható a webhelyekbe és a natív alkalmazásokba. Ez az oldal részletes leírást nyújt az ügyfélfunkciók meghívásáról, például a platform- és böngészőtámogatási információkról. A szolgáltatások programozott módon kezelik és érik el a hívásokat a Call Automation API-k használatával. A Rooms API egy opcionális Azure Communication Services API, amely további funkciókat ad hozzá egy hang- vagy videohíváshoz, például szerepköröket és engedélyeket.
Feljegyzés
Ossza meg velünk gondolatait és visszajelzéseit az Azure Communication Servicesről ezen rövid felméréssel.
Ha saját felhasználói élményt szeretne létrehozni a Hívó SDK-val, tekintse meg a Hívás rövid útmutatókat vagy a Főkép mintáját.
Ha segítségre van szüksége a végfelhasználói élményhez, az Azure Communication Services felhasználói felületi könyvtára nyílt forráskódú, éles környezetben használatra kész felhasználói felületi összetevők gyűjteményét kínálja az alkalmazásba való ugráshoz. Ezzel az előre összeállított vezérlőkészlettel gyönyörű kommunikációs élményt hozhat létre a Microsoft Fluent tervezési nyelvével. Ha többet szeretne megtudni a felhasználói felületi kódtárról, látogasson el az áttekintési webhelyre vagy a Storybookba.
A fejlesztés megkezdése után tekintse meg az ismert problémák oldalát , és keresse meg a hibákat, amelyeken dolgozunk.
SDK-hivatkozások
Platform | Web (JavaScript) | Windows (.NET) | iOS | Android | Egyéb |
---|---|---|---|---|---|
Hívás | npm | NuGet | GitHub | Maven | |
Felhasználói felületi kódtár | npm | - | GitHub | GitHub | GitHub, mesekönyv |
A legfontosabb jellemzők
- Eszközkezelés és média – A hívó SDK lehetővé teszi a hang- és videoeszközökhöz való kötést, kódolja a tartalmakat a kommunikációs adatsíkon keresztüli hatékony átvitelhez, és megjeleníti a tartalmat az Ön által megadott kimeneti eszközökre és nézetekre. Az API-k képernyő- és alkalmazásmegosztáshoz is elérhetők.
- PSTN – A hívó SDK a hagyományos, nyilvánosan kapcsoló telefonhálózattal kezdeményezhet hanghívásokat az Azure Portalon beszerzett telefonszámok használatával vagy programozott módon. A munkamenet-szegélyvezérlők használatával saját számokat is használhat.
- Teams-értekezletek > Hívás – A hívó SDK csatlakozhat a Teams-értekezletekhez , és kezelheti a Teams hang- és videoadatsíkját.
- Titkosítás – A hívó SDK titkosítja a forgalmat, és megakadályozza a vezeték illetéktelen illetéktelen használatát.
- Címzés – Az Azure Communication Services általános identitásokat biztosít, amelyek a kommunikációs végpontok kezelésére szolgálnak. Az ügyfelek ezeket az identitásokat használják a szolgáltatás hitelesítésére és egymással való kommunikációra. Ezeket az identitásokat a Hívás API-kban használják, amelyek lehetővé teszik az ügyfelek számára a híváshoz csatlakozó személy (a névsor) láthatóságát.
- Felhasználói hozzáférés biztonsága
- A névsor-vezérlés, az ütemezés-vezérlés és a felhasználói szerepkörök/engedélyek kikényszeríthetők a virtuális szobákon keresztül.
- A felhasználói identitások és jogkivonatok segítségével kezelhető az a képesség, hogy a felhasználó új hívást kezdeményezhet, vagy egy meglévő híváshoz csatlakozhat
- Értesítések – A hívó SDK API-kat biztosít, amelyekkel az ügyfelek értesítést kaphatnak a bejövő hívásokról. Olyan helyzetekben, amikor az alkalmazás nem fut az előtérben, a minták előugró értesítések ("bejelentések") indítására használhatók, hogy a végfelhasználók értesüljenek a bejövő hívásokról.
- Médiastatisztikák – A hívó SDK átfogó betekintést nyújt a VoIP- és videohívások metrikáiba. Ezekkel az információkkal a fejlesztők jobban megérthetik a hívásminőséget, és megalapozott döntéseket hozhatnak a kommunikációs élmény további javítása érdekében.
- Videókorlátozások – A hívó SDK olyan API-kat biztosít, amelyek lehetővé válnak a videohívások során a videominőség szabályozására más paraméterek között, például a felbontás és a képkockasebesség módosításával, amelyek különböző hívási helyzeteket támogatnak a különböző videominőségi szinteken
- Felhasználói diagnosztika (UFD) – A hívó SDK olyan eseményeket biztosít, amelyek a hívásminőséget befolyásoló mögöttes problémák elemzésére szolgálnak. A fejlesztők előfizethetnek olyan eseményindítókra, mint a gyenge hálózati jelek vagy a némított mikrofonok, biztosítva, hogy mindig tisztában legyenek a hívásokat befolyásoló tényezőkről.
Részletes lehetőségek
Az alábbi lista az Azure Communication Services Calling SDK-kban jelenleg elérhető funkciók készletét mutatja be.
Funkciók csoportja | Funkció | JS | Windows | Java (Android) | Objective-C (iOS) |
---|---|---|---|---|---|
Alapvető képességek | Egy-az-egyhez hívás indítása két felhasználó között | ✔️ | ✔️ | ✔️ | ✔️ |
Csoportos hívás kezdeményezése kétnál több felhasználóval (legfeljebb 100 felhasználóval) | ✔️ | ✔️ | ✔️ | ✔️ | |
Egy az egyhez hívás előléptetése két felhasználóval egy több felhasználóval rendelkező csoportos hívásba | ✔️ | ✔️ | ✔️ | ✔️ | |
Csatlakozás csoporthíváshoz a kezdés után | ✔️ | ✔️ | ✔️ | ✔️ | |
Másik VoIP-résztvevő meghívása folyamatban lévő csoportos híváshoz való csatlakozáshoz | ✔️ | ✔️ | ✔️ | ✔️ | |
Közepes hívásvezérlés | A videó be- és kikapcsolása | ✔️ | ✔️ | ✔️ | ✔️ |
Mikrofon elnémítása/visszahangosítása | ✔️ | ✔️ | ✔️ | ✔️ | |
Más résztvevők elnémítása | ✔️1 | ✔️1 | ✔️1 | ✔️1 | |
Váltás a kamerák között | ✔️ | ✔️ | ✔️ | ✔️ | |
Helyi visszatartás/visszatartás megszüntetése | ✔️ | ✔️ | ✔️ | ✔️ | |
Aktív hangszóró | ✔️ | ✔️ | ✔️ | ✔️ | |
Hangszóró kiválasztása hívásokhoz | ✔️ | ✔️ | ✔️ | ✔️ | |
Mikrofon kiválasztása hívásokhoz | ✔️ | ✔️ | ✔️ | ✔️ | |
Résztvevő állapotának megjelenítése Tétlen, Korai média, Csatlakozás, Csatlakozás, Várakozva, Előszobában, Leválasztva |
✔️ | ✔️ | ✔️ | ✔️ | |
Hívás állapotának megjelenítése Korai adathordozó, bejövő, Csatlakozás, csengetés, Csatlakozás, visszatartás, leválasztva, leválasztva |
✔️ | ✔️ | ✔️ | ✔️ | |
Annak megjelenítése, hogy egy résztvevő el van-e némítva | ✔️ | ✔️ | ✔️ | ✔️ | |
Annak az oka, hogy egy résztvevő miért hagyott el egy hívást | ✔️ | ✔️ | ✔️ | ✔️ | |
Képernyőmegosztás | A teljes képernyő megosztása az alkalmazáson belülről | ✔️ | ✔️2 | ✔️2 | ✔️2 |
Adott alkalmazás megosztása (a futó alkalmazások listájából) | ✔️ | ✔️2 | ❌ | ❌ | |
Böngészőlap megosztása a megnyitott lapok listájából | ✔️ | ||||
Rendszerhang megosztása képernyőmegosztás közben | ✔️ | ❌ | ❌ | ❌ | |
A résztvevő megtekintheti a távoli képernyőmegosztást | ✔️ | ✔️ | ✔️ | ✔️ | |
Beosztásról | Résztvevők listázása | ✔️ | ✔️ | ✔️ | ✔️ |
Résztvevő eltávolítása | ✔️ | ✔️ | ✔️ | ✔️ | |
PSTN | Egy-az-egyhez hívás indítása PSTN-résztvevővel | ✔️ | ✔️ | ✔️ | ✔️ |
Csoportos hívás kezdeményezése PSTN-résztvevőkkel | ✔️ | ✔️ | ✔️ | ✔️ | |
Egy-az-egyhez hívás előléptetése PSTN-résztvevővel csoportos hívássá | ✔️ | ✔️ | ✔️ | ✔️ | |
Csoportos hívás kitárcsázása PSTN-résztvevőként | ✔️ | ✔️ | ✔️ | ✔️ | |
Korai médiatartalmak támogatása | ✔️ | ✔️ | ✔️ | ✔️ | |
Általános | Tesztelje mikrofonját, hangszóróját és kameráját egy hangtesztelési szolgáltatással (a 8:echo123 hívásával érhető el) | ✔️ | ✔️ | ✔️ | ✔️ |
Eszközkezelés | Kérjen engedélyt a hang és/vagy videó használatára | ✔️ | ✔️ | ✔️ | ✔️ |
Kameralista lekérése | ✔️ | ✔️ | ✔️ | ✔️ | |
Kamera beállítása | ✔️ | ✔️ | ✔️ | ✔️ | |
Kiválasztott kamera lekérése | ✔️ | ✔️ | ✔️ | ✔️ | |
Mikrofonlista lekérése | ✔️ | ✔️ | ❌3 | ❌3 | |
Mikrofon beállítása | ✔️ | ✔️ | ❌3 | ❌3 | |
A kijelölt mikrofon lekérése | ✔️ | ✔️ | ❌3 | ❌3 | |
Előadók listájának lekérése | ✔️ | ✔️ | ❌3 | ❌3 | |
Hangszóró beállítása | ✔️ | ✔️ | ❌3 | ❌3 | |
Kijelölt előadó lekérése | ✔️ | ✔️ | ❌3 | ❌3 | |
Videó renderelése | Egyetlen videó renderelése sok helyen (helyi kamera vagy távoli stream) | ✔️ | ✔️ | ✔️ | ✔️ |
Méretezési mód beállítása/frissítése | ✔️ | ✔️ | ✔️ | ✔️ | |
Távoli videóstream renderelése | ✔️ | ✔️ | ✔️ | ✔️ | |
Videóeffektusok | Háttér elhomályosul | ✔️ | ✔️ | ✔️ | ✔️ |
Egyéni háttérkép | ✔️ | ✔️ | ✔️ | ✔️ | |
Hangeffektusok | Zene mód | ❌ | ✔️ | ✔️ | ✔️ |
Echo lemondás | ❌ | ✔️ | ✔️ | ✔️ | |
Zajszűrés | ✔️ | ✔️ | ✔️ | ✔️ | |
Automatikus nyereségvezérlés (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Értesítések 4 | Leküldéses értesítések | ✔️ | ✔️ | ✔️ | ✔️ |
1 A mások elnémításának képessége jelenleg nyilvános előzetes verzióban érhető el.
2 A megosztási képernyő képessége a Raw Media API-k használatával érhető el. További információkért látogasson el a nyers médiahozzáférés rövid útmutatójához.
3 A hívó SDK nem rendelkezik explicit API-val ezekhez a függvényekhez, ehelyett az Android &iOS os API-kat kell használnia.
4 A Natív platformokon a TTL maximális értéke 180 nap (15 552 000 másodperc), a minimális érték pedig 5 perc (300 másodperc). CTE (Egyéni Teams-végpont)/M365-identitás esetén a maximális TTL-érték 24 óra (86 400 másodperc).
JavaScript Calling SDK-támogatás operációs rendszer és böngésző szerint
Az alábbi táblázat a jelenleg elérhető támogatott böngészőket jelöli. A böngésző legújabb három fő verzióját (a Safari legújabb három alverzióját) támogatjuk, hacsak másként nem jelezzük.
Platform | Chrome | Safari | Edge | Firefox | Webview | Electron |
---|---|---|---|---|---|---|
Android | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
iOS | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Windows | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Ubuntu/Linux | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
- A kimenő képernyőmegosztás nem támogatott iOS vagy Android rendszerű mobilböngészőkben.
- A Firefox támogatása nyilvános előzetes verzióban érhető el.
- A hívó SDK jelenleg csak androidos Android rendszeren, iOS WebView(WKWebView) nyilvános előzetes verzióban támogatja az Android System WebView-t. Más operációsrendszer-platformokon a beágyazott böngészők vagy a WebView más típusai hivatalosan nem támogatottak, például GeckoView, Chromium Embedded Framework (CEF), Microsoft Edge WebView2. A JavaScript Calling SDK ezeken a platformokon való futtatását nem teszteli aktívan, lehetséges, hogy nem működik.
- A Safariban futó iOS-alkalmazások nem tudják számba vagy kiválasztani a mikrofont és a hangszórót (például Bluetooth). Ez a probléma az iOS korlátozása, és az operációs rendszer szabályozza az alapértelmezett eszközválasztást.
Ügyfél hívása – böngésző biztonsági modellje
A WebRTC használata HTTPS-en keresztül
A WebRTC API-k például getUserMedia
megkövetelik, hogy az ezeket az API-kat meghívó alkalmazás HTTPS-en keresztül legyen kiszolgálva. A helyi fejlesztéshez használhatja http://localhost
a .
A Communication Services Calling SDK beágyazása iframe-be
A különböző böngészőkben új engedélyházirend (más néven szolgáltatásházirend) érhető el. Ez a szabályzat a hívási forgatókönyvekre úgy van hatással, hogy az alkalmazások hogyan férhetnek hozzá az eszköz kamerája és mikrofonja egy keresztirányú iframe-elemen keresztül.
Ha egy iframe használatával szeretné üzemeltetni az alkalmazás egy részét egy másik tartományból, akkor a allow
megfelelő értékkel rendelkező attribútumot hozzá kell adnia az iframe-hez.
Ez az iframe például lehetővé teszi a kamerához és a mikrofonhoz való hozzáférést:
<iframe allow="camera *; microphone *">
Android-hívó SDK-támogatás
- Android API 21-es vagy újabb szintű támogatása
- Java 7 vagy újabb verzió támogatása
- Az Android Studio 2.0 támogatása
- Az Androidot futtató Android Auto- és IoT-eszközök jelenleg nem támogatottak
iOS-hívó SDK-támogatás
- Az iOS 10.0+ támogatása a buildeléskor, az iOS 12.0+ pedig futásidőben
- Xcode 12.0+
- Az iPadOS 13.0+ támogatása
Hívás maximális időtartama
A hívás maximális időtartama 30 óra, a 30 órás maximális hívási időtartamot elérő résztvevők le lesznek választva a hívásról.
A bejövő videostreamek támogatott száma
Az Azure Communication Services Calling SDK a következő streamelési konfigurációkat támogatja:
Korlát | Webes | Windows/Android/iOS |
---|---|---|
Az egyidejűleg küldhető kimenő helyi streamek maximális száma | 1 videó és 1 képernyőmegosztás | 1 videó + 1 képernyőmegosztás |
Az egyidejűleg renderelhető bejövő távoli streamek maximális száma | 9 videó + 1 képernyőmegosztás asztali böngészőkben*, 4 videó + 1 képernyőmegosztás webböngészőkön | 9 videó + 1 képernyőmegosztás |
* Az Azure Communication Services Web Calling SDK 1.16.3-s verziójától kezdve bár a hívó SDK nem érvényesíti ezeket a korlátokat, a felhasználók teljesítménycsökkenést tapasztalhatnak, ha túllépik őket. Az Optimális videószám API-val meghatározhatja, hogy a webes környezet hány bejövő videostreamet támogat.
Támogatott videófeloldások
Az Azure Communication Services Calling SDK automatikusan módosítja a video- és képernyőmegosztási streamek felbontását a hívás során.
Feljegyzés
A megoldás a hívás résztvevőinek számától, az ügyfél számára elérhető sávszélességtől, a távoli videoszűréseket megjelenítő helyi résztvevő hardver képességeitől és egyéb általános hívási paraméterektől függően változhat.
Az Azure Communication Services Calling SDK támogatja a következő videófeloldások küldését
Videó felbontásának maximális száma | WebJS | iOS | Android | Windows |
---|---|---|---|---|
Videó küldése | 720P | 720P | 720P | 1080P |
Képernyőmegosztás küldése | 1080P | 1080P | 1080P | 1080P |
Távoli videóstream vagy képernyőmegosztás fogadása | 1080P | 1080P | 1080P | 1080P |
Hívástámogatás résztvevőinek száma
- Legfeljebb 350 felhasználó csatlakozhat csoporthíváshoz, helyiséghez vagy Teams + ACS-híváshoz.
- Ha a hívás mérete eléri a hívás 100-nál több résztvevőjének méretét, csak a 4 legmeghatározóbb hangszóró látható, amelyeken a videokamera be van kapcsolva.
- Ha a hívásban lévő személyek száma 100+, a bejövő videoképek megjeleníthető száma automatikusan 3x3-ról (9 bejövő videóra) csökken 2x2-ről (4 bejövő videóra).
- Ha a felhasználók száma 100 alá csökken, a támogatott bejövő videók száma akár 3x3-ra (9 bejövő videóra) is visszament.
SDK-időtúllépések hívása
A Communication Services hívó SDK-jaira a következő időtúllépések vonatkoznak:
Művelet | Időtúllépés másodpercben |
---|---|
Újracsatlakoztatási/eltávolítási résztvevő | 60 |
Új mód hozzáadása vagy eltávolítása egy hívásból (videó vagy képernyőmegosztás indítása/leállítása) | 40 |
Hívásátadási művelet időtúllépése | 60 |
1:1 híváslétrehozás időtúllépése | 85 |
Csoportos híváslétrehozás időtúllépése | 85 |
PSTN-híváslétrehozás időtúllépése | 115 |
1:1-ás hívás előléptetése csoportos hívás időtúllépéséhez | 115 |
Következő lépések
További információért tekintse át az alábbi cikkeket:
- Az általános hívási folyamatok megismerése
- Tudnivalók a hívástípusokról
- Ismerje meg a hívásautomatizálási API-t , amely lehetővé teszi kiszolgálóalapú hívási munkafolyamatok létrehozását, amelyek irányíthatják és vezérelhetik a hívásokat az ügyfélalkalmazásokkal.
- A PSTN-megoldás megtervezve