https://a.storyblok.com/f/270183/1368x665/cf9a0b4cfb/25aug_dev-blog_client-sdk-v2351_1368x665.jpg

Lanzamiento del Client SDK de vídeo 2.35.1: «Promises» y selección escalable de capas

Publicado el August 20, 2026

Tiempo de lectura: 5 minutos

Ya está disponible el Client SDK de la Video API 2.35.1, que incorpora compatibilidad nativa con Promise en el SDK de JavaScript, una nueva API escalable para la selección de capas y actualizaciones de la plataforma en todos los SDK compatibles. 

La versión 2.35.1 ya está disponible en JavaScript (Web), iOS, Android, Linuxy Windows.

Para consultar la lista completa de cambios, véanse las notas completas de la versión

Compatibilidad con Promise en el SDK de JavaScript

El ecosistema de JavaScript lleva mucho tiempo estandarizado en torno a las «promises» y «async/await», mientras que el SDK de JavaScript de la Video API se ha basado históricamente en las «callbacks». La versión 2.35.1 subsana esa diferencia al añadir compatibilidad nativa con las «promises» en todas las funciones principales del SDK de JavaScript, al tiempo que mantiene una compatibilidad total con versiones anteriores con el código existente basado en callbacks. 

Se trata de un cambio que no afecta al funcionamiento. Todas las integraciones basadas en callbacks que tengas actualmente seguirán funcionando exactamente igual que antes. Puedes migrar tu código, función por función, a Promises a tu propio ritmo o seguir utilizando callbacks. 

Existen dos patrones en función del tipo de método. 

Las funciones que antes devolvían «void» ahora aceptan una función de devolución opcional y devuelven una Promise: 

// Callback style (still works) 
session.connect(token, function(error) { 
  if (error) { return handleError(error); } 
  session.publish(publisher, function(error) { 
    if (error) { return handleError(error); } 
  }); 
}); 
 
// Promise / async-await style (new in 2.35.1) 
try { 
  await session.connect(token); 
  await session.publish(publisher); 
} catch (error) { 
  handleError(error); 
} 

Las funciones que antes devolvían un objeto ahora exponen un .promise() método: 

// Callback style (still works) 
const publisher = OT.initPublisher(targetElement, properties, function(error) { 
  if (error) { console.error(error); } 
}); 
 
// Promise / async-await style (new in 2.35.1) 
try { 
  const publisher = await OT.initPublisher.promise(targetElement, properties); 
} catch (error) { 
  console.error(error); 
}  

También puedes ejecutar operaciones en paralelo de forma ordenada con Promise.all()

const [sub1, sub2] = await Promise.all([ 
  session.subscribe.promise(stream1, el1), 
  session.subscribe.promise(stream2, el2), 
]); 

Por el momento no hay planes de eliminar la compatibilidad con las funciones de devolución de llamada. 

Mientras tanto, puedes leer la guía de migración y encontrar aplicaciones de ejemplo actualizadas en el repositorio de ejemplos web de la Video API de Vonage

API de selección de capas escalable

La versión 2.35.1 introduce una nueva API pública que permite a los desarrolladores consultar mediante código y configurar dinámicamente los ajustes de la capa de codificación de vídeo escalable (SVC) para las transmisiones VP8 Simulcast y VP9 SVC. Esta API está disponible en todos los SDK: JavaScript (Web), iOS, Android, Linux y Windows. 

La selección automática predeterminada de capas funciona bien en la mayoría de los casos, pero hay situaciones en las que se requiere un control explícito. En un dispositivo con poco ancho de banda o con autonomía limitada, puede resultar beneficioso reducir el número de capas activas para disminuir la carga de trabajo de codificación. En una sesión de pantalla compartida o con mucho contenido, puede ser necesario fijar una capa espacial más alta para garantizar la nitidez. Esta API facilita esos ajustes. 

A continuación te mostramos un ejemplo rápido con el SDK de JavaScript: 

// Force L1T3 (1 spatial layer, 3 temporal layers; keeps resolution, reduces frame rate) 
await publisher.setScalabilityMode('L1T3'); 

También puedes combinar la nueva API con las restricciones existentes de los editores: 

// 1) Initialize a publisher with 1080p 
const publisher = OT.initPublisher('publisher', { 
  resolution: '1920x1080', 
  frameRate: 30, 
  videoContentHint: 'detail', 
}); 
 
// 2) Adjust constraints after initialization 
await publisher.setPreferredResolution({ width: 1920, height: 1080 }); 
await publisher.setPreferredFrameRate(15); 
 
// 3) Optionally override the scalability mode 
await publisher.setScalabilityMode('L1T3'); 

La API está diseñada para gestionar de forma uniforme la transmisión simultánea VP8 y el SVC VP9. 

Para consultar la documentación completa, véase la guía de Scalable Video

Actualizaciones de la plataforma

Actualización de WebRTC M145 para los SDK nativos

Los SDK para iOS, Android, Linux y Windows se han actualizado de la versión M121 a la M145 de WebRTC. Esto aporta mejoras significativas en rendimiento y calidad, seguridad y cumplimiento normativo, e interoperabilidad entre estándares, así como actualizaciones de dependencias clave como libvpx, Opus 1.6, BoringSSL, libyuv y libsrtp. 

Validación de Android 17

El SDK de Android se ha actualizado para compilar y ser compatible con el nivel de API 37, y se han analizado y validado todos los cambios de comportamiento de Android 17: 

  • Acceso a la red local: WebRTC ICE utiliza sockets UDP/TCP sin procesar, por lo que no se requiere el nuevo ACCESS_LOCAL_NETWORK permisos no es necesario. 

  • Optimización del audio de fondo: Se ha actualizado la gestión interna del foco de audio, pasando de la opción obsoleta AudioManager.requestAudioFocus() a la recomendada API AudioFocusRequest

  • Transparencia de certificados: Todos los puntos finales de los servidores de Vonage ya cumplen con los requisitos; no es necesario realizar ningún cambio en tu aplicación. 

El SDK de JS también se ha validado en Chrome/Chromium y en WebView en Android 16 y 17. 

SDK de iOS: De CocoaPods al gestor de paquetes de Swift

CocoaPods está pasará a ser de solo lectura a finales de 2026, y el ecosistema de iOS en general ha adoptado Swift Package Manager (SPM) como gestor de dependencias oficialmente compatible con Apple. A partir de la versión 2.35.1, el SDK de iOS se distribuye exclusivamente a través de SPM: 

Para obtener instrucciones paso a paso sobre cómo cambiar de CocoaPods, consulta la guía de migración

Primeros pasos

¿Estás listo para actualizar? Esto es lo que tienes que saber. 

Instalación para JavaScript/Web: 

npm install @vonage/client-sdk-video@2.35.1 

Para los SDK nativos, consulta nuestra documentación para obtener instrucciones de instalación específicas para cada plataforma. 

Nota: El SDK de React Native se adapta a cada versión del SDK nativo una vez finalizados los trabajos necesarios de integración, pruebas y validación. 

Conclusión

La versión 2.35.1 supone un importante avance en la experiencia del desarrollador. Los patrones basados en promesas del SDK de JS hacen que el código asíncrono sea más limpio y fácil de mantener; la API de selección de capas escalables permite un control más preciso del comportamiento de los códecs de Video; y la actualización a WebRTC M145 garantiza que los SDK nativos se mantengan al día con los estándares modernos de seguridad y rendimiento. 

Si estás creando experiencias de video de gran calidad, esta versión tiene algo que te interesa. 

¿Tiene alguna pregunta o quiere compartir lo que está construyendo?

Mantente conectado y entérate de las últimas noticias, consejos y eventos para desarrolladores.

Compartir:

https://a.storyblok.com/f/270183/400x400/20c99f31de/mateusz-sell.png
Mateusz SellJefe de producto

Mateusz es gestor de producto en el equipo de Vonage Video, donde se encarga de la plataforma principal. Considera que una experiencia de desarrollo excelente comienza con un software fiable y predecible, y aplica esa convicción a todas las decisiones de priorización que toma. Fuera del trabajo, le gusta montar en bicicleta y los juegos de mesa.