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

Lançamento do Video Client SDK 2.35.1: Promessas e seleção escalável de camadas

Publicado em August 20, 2026

Tempo de leitura: 5 minutos

O Client SDK da Video API 2.35.1 já está disponível, trazendo suporte nativo a Promise para o SDK do JavaScript, uma nova API escalável para seleção de camadas e atualizações de plataforma em todos os SDKs compatíveis. 

A versão 2.35.1 está disponível em JavaScript (Web), iOS, Android, Linuxe Windows.

Para obter uma lista completa das alterações, consulte as notas completas da versão

Suporte ao Promise no SDK do JavaScript

O ecossistema JavaScript há muito tempo adotou os padrões de promessas e async/await, enquanto o SDK JS da Video API tradicionalmente dependia de callbacks. A versão 2.35.1 elimina essa lacuna ao adicionar suporte nativo a promessas em todas as principais funções do SDK JS, ao mesmo tempo em que mantendo total compatibilidade com versões anteriores com o código existente baseado em callbacks. 

Essa é uma alteração que não causa interrupção no funcionamento. Todas as integrações do tipo callback que você tem atualmente continuam funcionando exatamente como antes. Você pode migrar sua base de código, função por função, para promessas no seu próprio ritmo ou continuar usando callbacks. 

Existem dois padrões, dependendo do tipo de método. 

Funções que antes retornavam `void` agora aceitam uma função de retorno opcional e retornam uma 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); 
} 

Funções que antes retornavam um objeto agora expõem um .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); 
}  

Você também pode executar operações paralelas de maneira organizada com Promise.all()

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

No momento, não há planos de remover o suporte a callbacks. 

Enquanto isso, você pode ler o guia de migração e encontrar aplicativos de exemplo atualizados no repositório de exemplos da Video API da Vonage

API de seleção de camadas escalável

A versão 2.35.1 apresenta uma nova API pública que permite aos desenvolvedores consultar programaticamente e configurar dinamicamente as definições da camada de Codificação de Vídeo Escalável (SVC) para fluxos VP8 Simulcast e VP9 SVC. Essa API está disponível em todos os SDKs: JavaScript (Web), iOS, Android, Linux e Windows. 

A seleção automática padrão de camadas funciona bem na maioria dos cenários, mas alguns casos de uso exigem controle explícito. Um dispositivo com baixa largura de banda ou com bateria limitada pode se beneficiar da redução do número de camadas ativas para diminuir a carga de trabalho de codificação. Uma sessão de compartilhamento de tela ou com muito conteúdo pode precisar ser fixada em uma camada espacial mais alta para garantir nitidez. Essa API facilita esses ajustes. 

Aqui está um exemplo rápido usando o SDK do JavaScript: 

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

Você também pode combinar a nova API com as restrições existentes dos 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'); 

A API foi projetada para lidar com VP8 Simulcast e VP9 SVC de maneira uniforme. 

Para acessar a documentação completa, consulte o guia do Scalable Video

Atualizações da plataforma

Atualização do WebRTC M145 para SDKs nativos

Os SDKs para iOS, Android, Linux e Windows foram atualizados da versão WebRTC M121 para a M145. Isso traz melhorias significativas em desempenho e qualidade, segurança e conformidade, além de interoperabilidade entre padrões, bem como atualizações em dependências importantes, incluindo libvpx, Opus 1.6, BoringSSL, libyuv e libsrtp. 

Validação do Android 17

O SDK do Android foi atualizado para compilar e ter como alvo o nível de API 37, e todas as mudanças de comportamento do Android 17 foram analisadas e validadas: 

  • Acesso à rede local: O WebRTC ICE utiliza soquetes UDP/TCP brutos, portanto, a nova ACCESS_LOCAL_NETWORK permissão não é necessária. 

  • Reforço do áudio de fundo: O gerenciamento do foco de áudio interno foi atualizado, substituindo a opção obsoleta AudioManager.requestAudioFocus() para a recomendada API AudioFocusRequest

  • Transparência de Certificados: Todos os pontos finais dos servidores da Vonage já estão em conformidade; não é necessário fazer alterações no seu aplicativo. 

O SDK do JS também foi validado no Chrome/Chromium e no WebView no Android 16 e 17. 

SDK do iOS: do CocoaPods para o Swift Package Manager

O CocoaPods está passando para o status de somente leitura até o final de 2026, e o ecossistema iOS como um todo migrou para o Swift Package Manager (SPM) como o gerenciador de dependências oficialmente suportado pela Apple. A partir da versão 2.35.1, o SDK do iOS é distribuído exclusivamente por meio do SPM: 

Para obter instruções passo a passo sobre como migrar do CocoaPods, consulte o guia de migração

Introdução

Pronto para fazer a atualização? Veja aqui o que você precisa saber. 

Instalação para JavaScript/Web: 

npm install vonage/client-sdk-video@2.35.1 

Para SDKs nativos, acesse nossa documentação para obter instruções de instalação específicas para cada plataforma. 

Observação: O SDK do React Native acompanha cada lançamento do SDK nativo após a conclusão dos trabalhos necessários de integração, teste e validação. 

Conclusão

A versão 2.35.1 representa um avanço significativo na experiência do desenvolvedor. Os padrões baseados em Promise no SDK do JS tornam o código assíncrono mais limpo e fácil de manter, a API de Seleção de Camada Escalável oferece controle refinado sobre o comportamento dos codecs de vídeo, e a atualização do WebRTC M145 garante que os SDKs nativos permaneçam em conformidade com os padrões modernos de segurança e desempenho. 

Se você está criando experiências ricas em Video, esta versão tem algo a lhe oferecer. 

Tem alguma dúvida ou quer compartilhar o que está criando?

Fique conectado e acompanhe as últimas notícias, dicas e eventos para desenvolvedores.

Compartilhar:

https://a.storyblok.com/f/270183/400x400/20c99f31de/mateusz-sell.png
Mateusz SellProduct Manager

Mateusz is a Product Manager on the Vonage Video Team, where he is responsible for the core platform. He believes that great developer experience starts with software that is reliable and predictable, and he channels that conviction into every prioritization decision he makes. Outside of work, he enjoys cycling and board games.