Kisah satu integrasi Agora SDK

Halo semuanya. Nama saya Dmitry, dan saya adalah perwakilan khas dari kasta dayung di galeri X. Bahasa utama yang saya gunakan adalah PHP, tetapi kadang-kadang saya harus menulis dalam bahasa lain.





Latar Belakang

Entah bagaimana, proyek lain yang sedikit belum selesai, "pembunuh" produk Y datang. Semuanya akan baik-baik saja jika pada awalnya tidak dilakukan oleh orang India. Analisis awal kode dan semua evaluasi fitur dilakukan oleh pengembang lain. Akibatnya, diputuskan untuk mengambil warisan umat Hindu, sedikit mengubahnya dan untuk makanan.





Sedikit tweak dan dalam produksi, direntangkan selama sekitar setengah tahun. Pada saat ini, semua orang sudah mengerti bahwa akan lebih baik untuk memilih opsi - untuk menulis ulang lagi, tetapi sudah terlambat, dan mereka tidak ingin mundur. Akibatnya, proyek itu ditayangkan , tetapi sangat menakutkan dan tidak nyaman dari sisi UI / UX . Oleh karena itu, desain ulang yang mulus dari segalanya dan semua orang dimulai. Semua yang dijelaskan di atas ada di depan saya, saya datang ke proyek hanya setengah tahun kemudian.





Pernyataan masalah dan kondisi awal

Sprint baru, tiket baru. Salah satu tugas terdengar seperti: "Desain ulang mekanisme panggilan video / audio saat ini". Untuk fungsi ini, kami menggunakan Agora Web SDK 3.4.0v . Mengapa Agora - karena orang India memilihnya (kemungkinan besar karena 10.000 menit gratis). Mungkin masih disuap oleh fakta bahwa ada SDK untuk berbagai platform:





Pergilah

Hal pertama yang saya lakukan adalah melihat versi terbaru dari Web SDK . Ternyata, versi utama Agora Web SDK 4.x yang benar-benar baru telah dirilis . Nah, jika kita akan mendesain ulang sepenuhnya, mengapa tidak mengambil versi baru dan menggunakannya. Semua sama, akan ada putaran penuh dari sisi QA, selain itu - aliran panggilan itu sendiri telah berubah. Tidak lama kemudian, hanya entri yang diperingatkan:





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