Pausando o lançamento faseado do iOS e interrompendo o rollout do Play - o guia para conter lançamentos ruins em aplicativos Expo SDK 57 sem esperar pela exposição completa do usuário. O upload ainda flui através do EAS Submit; esta página cobre as ações do operador na App Store Connect e no Play Console após um build estar ativo ou parcialmente ativo.
Cartão de receita de referência rápida - pronto para copiar e colar.
## Árvore de decisão de rollback (primeiros 15 minutos)1. Confirme se o número do build ruim no Sentry / Play Vitals corresponde ao lançamento ativo2. Classifique: crash nativo (build da loja) vs lógica JS (candidato EAS Update)3. iOS: App Store Connect → pausar lançamento faseado4. Android: Play Console → interromper rollout escalonado5. Se nativo: preparar build de hotfix OU promover versionCode / buildNumber conhecido como bom6. Publicar página de status + banner no aplicativo se autenticação/checkout estiverem quebrados
# Caminho de hotfix - incremente os números de build, reconstrua, reenvie# app.config.ts: ios.buildNumber + android.versionCode incrementadoseas build --profile production --platform alleas submit --platform ios --latesteas submit --platform android --latest
Quando usar isso:
A taxa de crash-free cai > 0,5% durante o primeiro dia do rollout.
A taxa de ANR dobra nos vitals do Android em 20% de rollout escalonado.
Regressão de checkout ou autenticação confirmada em produção - não um teste A/B instável.
Marketing impulsionado antes que a engenharia valide as métricas da coorte faseada.
Você precisa parar novos adotantes enquanto decide entre correção OTA e binário de hotfix.
Sintomas: Lançamento faseado do iOS dia 2 (~28% dos usuários); Android em 20% de rollout escalonado. Sentry mostra 3,2% de taxa de crash em 240012 (baseline 0,4%). Stack trace: ponteiro nulo em um módulo nativo após a atualização do RN 0.86.
Passo 1 - Pausar nova exposição
Plataforma
Caminho no Console
Ação
iOS
App Store Connect → Apps → ShopApp → Atividade → versão 2.4.0
Pausar Lançamento Faseado
Android
Play Console → Release → Production → release ativo
Interromper rollout (para na % atual)
Pausar lançamento faseado do iOS - usuários que já receberam a atualização a mantêm; nenhum novo usuário recebe 2.4.0 até que seja retomado ou substituído.
Interromper rollout do Play - mesmo comportamento; instalações existentes permanecem na versão ruim até que atualizem novamente.
Passo 2 - Avaliar opções de rollback
Tipo de correção
Ferramenta
Tempo para usuários
Bug apenas em JS
EAS Update (compatível em tempo de execução)
Minutos–horas
Crash nativo
Novo binário da loja
1–3+ dias (revisão)
Lado do servidor
Flag de API / configuração
Minutos
Este crash é nativo - OTA não ajudará. Prossiga com o hotfix 2.4.1 build 240013.
Passo 3 - iOS: estratégia de lançamento enquanto pausado
Construa e envie o hotfix IPA via EAS.
Envie o 2.4.1 para Revisão da App Store - mencione a correção da regressão nas notas de revisão.
Opções enquanto espera:
Deixe o lançamento faseado do 2.4.0 pausado (limita o raio de explosão).
Se a Apple aprovar o 2.4.1 antes que a pausa expire, lance o 2.4.1 com o lançamento faseado ativado - não retome o 2.4.0.
Não é possível "fazer downgrade" de usuários no iOS - usuários na 2.4.0 precisam da correção futura 2.4.1.
<!-- Adendo à nota de revisão da App Store Connect -->2.4.1 corrige crash na inicialização a frio (problema Sentry SHOP-4412) introduzido no build 240012 do 2.4.0.O lançamento faseado do 2.4.0 está pausado. Nenhum novo usuário recebe 2.4.0.
Pausar Lançamento Faseado - congele a porcentagem até que seja retomada.
Lançar Atualização para Todos os Usuários - pule os dias restantes do lançamento faseado (use apenas quando o hotfix for validado).
Desativar lançamento faseado na próxima versão - 100% instantâneo (maior risco).
Usuários que atualizam manualmente na App Store podem receber o build imediatamente, independentemente da fase - o lançamento faseado se aplica a atualizações automáticas.
Pausar lançamento faseado vs remover aplicativo da venda?
Pausar lançamento faseado limita novas atualizações para o build ruim - o aplicativo permanece disponível.
Remover da venda é nuclear - use apenas para crise legal/política; veja o documento de resposta a incidentes.
Quem pode interromper o rollout do Play?
Usuários com permissão de Lançar para produção.
Documente backups nomeados - férias causam atrasos.
O primeiro lançamento deve usar faseado/escalonado?
Sim para aplicativos estabelecidos com DAU significativo.
O primeiro lançamento de todos não tem linha de base anterior - ainda considere 10% de rollout escalonado no Android após a aprovação da trilha interna.