L'histoire d'une intégration du SDK Agora

Bonjour à tous. Je m'appelle Dmitry, et je suis un représentant typique de la caste d'aviron sur la galerie X. Le langage principal que j'utilise est PHP, mais parfois je dois écrire dans d'autres.





Arrière-plan

D'une certaine manière, un autre projet un peu inachevé, le « tueur » du produit Y. Tout irait bien si cela n'avait pas été fait au départ par les Indiens. L'analyse initiale du code et toute l'évaluation des fonctionnalités ont été effectuées par un autre développeur. En conséquence, il a été décidé de prendre l'héritage des hindous, de le peaufiner un peu et de se nourrir.





Un petit ajustement et en production, étiré pendant environ six mois. À ce moment-là, tout le monde avait déjà compris qu'il valait mieux choisir l'option - la réécrire à nouveau, mais il était trop tard et ils ne voulaient pas reculer. En conséquence, le projet a été mis en ligne , mais c'était sacrément effrayant et gênant du côté UI / UX . Par conséquent, une refonte en douceur de tout et de tout le monde a commencé. Tout ce qui est décrit ci-dessus était avant moi, je suis venu au projet seulement six mois plus tard.





Énoncé du problème et conditions initiales

Nouveau sprint, nouveaux tickets. L'une des tâches ressemble à : "Refonte du mécanisme actuel des appels vidéo/audio". Pour cette fonctionnalité, nous avons utilisé Agora Web SDK 3.4.0v . Pourquoi Agora - parce que les Indiens l'ont choisi (probablement à cause de 10 000 minutes gratuites). Peut-être encore soudoyé par le fait qu'il existe un SDK pour différentes plateformes :





Va

La première chose que j'ai faite a été de jeter un œil à la dernière version du Web SDK . Il s'est avéré qu'une toute nouvelle version majeure d' Agora Web SDK 4.x est déjà sortie . Eh bien, si nous allons de toute façon complètement repenser, alors pourquoi ne pas prendre la nouvelle version et l'utiliser. Tout de même, il y aura une exécution complète du côté de l'assurance qualité, en plus - le flux d'appels lui-même a changé. Aussitôt dit aussitôt fait, seule l'entrée alerta :





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