La historia de la integración de One Agora SDK

Hola a todos. Mi nombre es Dmitry, y soy un típico representante de la casta de remo en la galería X. El lenguaje principal que uso es PHP, pero a veces tengo que escribir en otros.





Fondo

De alguna manera apareció otro proyecto, un poco inconcluso, el "asesino" del producto Y. Todo estaría bien si no lo hubieran hecho inicialmente los indios. El análisis inicial del código y toda la evaluación de las características fue realizado por otro desarrollador. Como resultado, se decidió tomar la herencia de los hindúes, modificarla un poco y para comer.





Un pequeño ajuste y en producción, se estiró durante aproximadamente medio año. En ese momento, todos ya habían entendido que sería mejor elegir la opción: reescribirla nuevamente, pero era demasiado tarde y no querían dar un paso atrás. Como resultado, el proyecto se puso en marcha , pero fue muy aterrador e inconveniente desde el lado de UI / UX . Por lo tanto, comenzó un rediseño suave de todo y de todos. Todo lo descrito anteriormente estaba ante mí, llegué al proyecto solo medio año después.





Enunciado del problema y condiciones iniciales

Sprint nuevo, tickets nuevos. Una de las tareas suena así: "Rediseño del mecanismo actual de llamadas de video / audio". Para esta funcionalidad, usamos Agora Web SDK 3.4.0v . Por qué Agora: porque los indios lo eligieron (probablemente debido a los 10,000 minutos gratis) Quizás todavía sobornado por el hecho de que existe un SDK para varias plataformas:





Ir

Lo primero que hice fue echar un vistazo a la última versión del Web SDK . Al final resultó que, una nueva versión principal del Ágora Web SDK 4.x ya ha sido puesto en libertad . Bueno, si lo rediseñamos por completo de todos modos, ¿por qué no tomar la nueva versión y usarla? De todos modos, habrá una ejecución completa desde el lado de QA, además, el flujo de llamadas en sí ha cambiado. Apenas dicho que hecho, solo la entrada alertó:





Web SDK ( React Native SDK ), .





- 3 - 4 ( , ). - . Agora Web SDK 4.4.0. JS ( ). ( , )





testing . , web - . ( - ).





web, - . - . - . ( ) - . - SDK - https://docs.agora.io/en/Voice/API%20Reference/web_ng/interfaces/iagorartcclient.html , . , . , Agora Web SDK 4.4.0 Agora React Native API 3.!





, - - "". , Agora Web SDK 3.x.





( 3.x) SDK. , - . . ( ). , - , - , ( - channel). , 4.x.





- . , , c HTML, . , . . . 3.x ( ). HTML JS . . . HTML - . , ...





" " HTML JS . ... ? , . -- 3.x, . - 3.x. - . - . . :





, . (uid ). join:





! . , .





- . - number, ( ) int . ... , , - testing. web - , - , . ...





, , . . , , , - , . . . QA . . QA - , , - . -, ... - ...





"" , : ", STUN / TURN ?". , .





, - STUN / TURN ( STUN , TURN ).





, - NAT - ? . . , , rtc/vp8, live/h264.





WebRTC.





P.S. - - .








All Articles