Skip to content

Como atualizar um app React Native sem passar pela loja ​

Atualizado em outubro de 2026.

Resposta curta: em React Native, a maior parte do app é JavaScript. Esse JavaScript (e as imagens) pode ser trocado pelo ar, com um update OTA (over-the-air): o app baixa um bundle novo e passa a usá-lo no próximo início, sem uma versão nova na App Store ou no Google Play. Mudanças em código nativo continuam indo pela loja.

O que dá para mudar pelo ar ​

Pelo ar (OTA)Só pela loja
Telas, textos, regras de negócio em JavaScriptMódulos nativos novos ou atualizados
Correções de bugs no JavaScriptPermissões novas (câmera, localização...)
Imagens e assets empacotados no bundleVersão do React Native ou do Hermes
Ajustes de layout e estilosMudanças no Info.plist, AndroidManifest, ícone, splash

A Apple e o Google permitem? ​

Sim, para código interpretado como o JavaScript, desde que o update não mude o propósito principal do app nem tente contornar a revisão. Na prática: corrigir bugs e ajustar telas pelo ar é comum e aceito. Lançar um app "diferente" por OTA não é.

Como funciona por dentro ​

  1. No build: o app nativo é instalado da loja com um bundle embutido.
  2. No deploy: uma CLI gera um bundle novo, assina e envia para um servidor, como uma release num canal (production, beta...).
  3. No aparelho: ao abrir, o SDK pergunta ao servidor se há release para aquela versão nativa e aquele canal. Se houver, baixa em segundo plano.
  4. No próximo início, o app abre com o bundle novo. Se ele crashar ao abrir, o SDK volta sozinho para o anterior.

As peças que você precisa ​

  • Um SDK no app. O hot-updater é open source e é o mais usado hoje depois do fim do CodePush.
  • Um servidor que guarda os bundles, decide quem recebe cada release e entrega os arquivos. Dá para hospedar por conta própria (Cloudflare, AWS, Supabase, Firebase) ou usar um serviço gerenciado.
  • Assinatura dos bundles (recomendado), para o app só aceitar updates publicados por você.

Publicando o primeiro update com o Pipa no Ar ​

O Pipa no Ar é o servidor gerenciado para o hot-updater: você usa o SDK e a CLI oficiais, e nós cuidamos de servidor, armazenamento, assinatura e painel.

sh
npx @pipanoar/init

O comando instala os pacotes, cria o hot-updater.config.ts e envolve o app com o HotUpdater. Depois:

sh
npx hot-updater deploy -p ios -r 10   # 10% dos aparelhos

O passo a passo completo, incluindo a parte nativa, está no guia rápido.

Boas práticas ​

  • Nunca publique para 100% de uma vez. Comece com 5% a 10% e aumente com os números na mão. Ver rollout progressivo.
  • Ligue a assinatura de bundles. Assim um token vazado não basta para publicar no seu app. Ver assinatura.
  • Use canais. Teste no beta e promova a mesma release para production.
  • Tenha um rollback de um clique. No Pipa no Ar, desativar a release devolve os aparelhos para a anterior na próxima checagem.

Perguntas frequentes ​

Precisa de Expo? Não. Funciona em React Native puro (bare) e em Expo com prebuild. O Expo Go não carrega bundles externos.

Quanto custa? O hot-updater é grátis se você hospedar. O Pipa no Ar tem um plano grátis com 10 mil entregas por mês; os planos pagos começam em R$ 99. Ver planos.

E se o update quebrar o app? O SDK descarta um bundle que crasha ao abrir. Para o resto, desative a release; com o rollout automático, o Pipa no Ar faz isso sozinho quando a taxa de crash passa do limite.