Tema
OTA em React Native: o que é, como funciona e como começar
Atualizado em outubro de 2026.
Resposta curta: OTA (over-the-air) em React Native é publicar um novo bundle de JavaScript e assets direto para os aparelhos, sem passar pela revisão da App Store e do Google Play. O app pergunta a um servidor se há versão nova, baixa o bundle e passa a usá-lo no próximo início. Serve para corrigir bugs e ajustar telas em minutos. Não serve para mudar código nativo.
Como um update OTA funciona
- Você gera o bundle JavaScript do app (o mesmo que entra na build da loja) e envia para um servidor de updates.
- O servidor guarda o bundle em um canal (por exemplo,
production) e define para quem ele vale: versão do app, plataforma e porcentagem de rollout. - Quando o app abre, o SDK pergunta ao servidor qual é o bundle mais novo para aquele aparelho.
- Se houver um, o SDK baixa, confere a assinatura e aplica no próximo início. Se algo der errado, o aparelho volta ao bundle anterior.
O que dá para atualizar e o que não dá
| Dá pelo ar | Exige build nova na loja |
|---|---|
| Lógica em JavaScript e TypeScript | Módulo nativo novo ou atualizado |
| Telas, textos e estilos | Permissões do iOS e do Android |
| Imagens e outros assets do bundle | Versão do React Native ou do Expo SDK |
| Correção de bug em produção | Ícone, splash e configuração nativa |
Na prática, o bundle precisa ser compatível com o código nativo que já está instalado no aparelho. Por isso cada release aponta para uma versão do app (ou um fingerprint da parte nativa).
Quando vale a pena
- Bug em produção: a correção chega em minutos, não em dias de revisão.
- Rollout gradual: você libera para 10% dos aparelhos, olha os crashes e só então sobe para 100%. Veja rollout progressivo.
- Rollback rápido: desativar a release faz os aparelhos voltarem ao bundle anterior.
- Experimentos de interface: ajustes pequenos sem uma build por tentativa.
As lojas aceitam updates de JavaScript desde que o app não mude de finalidade nem burle a revisão. Leia as regras vigentes da Apple e do Google antes de depender disso.
Opções em 2026
- CodePush: foi desligado pela Microsoft junto com o App Center. Veja o que usar no lugar.
- EAS Update: serviço da Expo, cobrado em dólar por usuário ativo. Veja quanto custa e as alternativas.
- hot-updater: SDK e CLI open source. Você escolhe onde hospedar o servidor.
- Pipa no Ar: servidor pronto para o hot-updater, em reais, com cobrança por entrega, rollout gradual e rollback automático por crash. Funciona com React Native bare e com Expo com prebuild. Veja updates OTA com Expo sem EAS.
Como começar com o Pipa no Ar
No projeto React Native, rode:
bash
npx @pipanoar/initO comando detecta se o projeto é bare ou Expo, instala os pacotes e cria o hot-updater.config.ts. Depois, para publicar:
bash
npx hot-updater deployO passo a passo completo está no guia rápido. Para publicar a partir do CI, veja updates OTA pelo GitHub Actions. Se quiser testar, o plano grátis não pede cartão.
Perguntas frequentes
O que significa OTA em React Native?
OTA vem de over-the-air: o app recebe o código novo pela internet, sem baixar uma versão nova da loja.
OTA funciona com Expo?
Sim, em projetos com prebuild. O Expo Go não carrega bundles de fora. Veja o guia do Expo.
Posso atualizar código nativo por OTA?
Não. Só JavaScript e assets. Mudança nativa continua exigindo build e publicação na loja.
Um update OTA pode quebrar o app?
Pode, como qualquer release. Por isso existem rollout gradual, assinatura de bundles e rollback. Veja como assinar bundles.