-
Trate as operações de loja como um pipeline: Build → teste interno → submeter → lançamento faseado → monitorar - não uma tarefa de sexta-feira à tarde após o congelamento de recursos.
-
Incremente buildNumber e versionCode a cada upload: Lojas rejeitam duplicatas; hotfixes na mesma version de marketing ainda precisam de novos inteiros.
-
Marque commits git que produziram binários de loja: Incidentes rastreiam até a origem; eas build:list sozinho não é suficiente para auditorias.
-
Execute npx expo-doctor em branches de lançamento: Derivações de SDK causam falhas de upload e crashes nativos que os revisores veem antes de você.
-
Teste de fumaça (Smoke-test) de builds de Lançamento em dispositivos físicos: Simuladores escondem push, biometria, IAP, ATT e performance - a Diretriz 2.1 vive em hardware real.
-
Use TestFlight interno antes da Revisão da App Store: Mesmo IPA da produção; captura problemas de assinatura, permissões e manifestos de privacidade de forma barata.
-
Use a trilha interna do Play antes da produção: Feedback de minutos a horas; valida a segurança de dados e a monotonicidade do versionCode.
-
Automatize o upload com EAS Submit: Humanos escolhem o momento do lançamento; máquinas evitam erros de digitação do Transporter e seleção incorreta de IPA.
-
Mantenha os metadados no git: store/metadata.ts e pastas de localidade - Connect e Play copiam e colam de uma única fonte de verdade.
-
Automatize pipelines de captura de tela por localidade: Fastlane Snapshot, Detox ou Maestro - capturas de tela desatualizadas acionam rejeições 2.3.3.
-
Mantenha notas de revisão com credenciais de demonstração funcionais: Rotacione senhas a cada lançamento; contas expiradas causam rejeições falsas.
-
Alinhe Privacidade do App, Rótulos Nutricionais e segurança de dados do Play: Uma planilha de inventário de privacidade direciona os três - veja Conformidade: ATT e Rótulos de Privacidade.
-
Solicite ATT apenas quando você realmente rastrear em outros aplicativos de empresas: Declarações de rastreamento falsas são golpes da Diretriz 5.1.2; anúncios não personalizados quando negado.
-
Corresponda strings de permissão e entradas de manifesto ao comportamento em tempo de execução: Descrições do infoPlist do iOS e blockedPermissions do Android - veja Permissões e Política do Play.
-
Recompile nativamente para alterações de manifesto de privacidade e ATT: OTA não pode corrigir ITMS-91053 ou NSUserTrackingUsageDescription ausente.
-
Ative por padrão o lançamento faseado do iOS e o lançamento escalonado do Android: Comece o Play em 5-10%; planeje o marketing em torno da curva de 7 dias do iOS.
-
Monitore a taxa de crash por número de build durante o lançamento parcial: Sentry e métricas do Play fatiadas por versionCode - estatísticas agregadas do aplicativo escondem regressões.
-
Documente quem pode pausar o lançamento faseado e interromper o lançamento do Play: Lacunas de férias atrasam a contenção - nomeie o principal e o substituto no runbook.
-
Conheça os limites de rollback: Lojas são apenas para frente; você envia correções, não downgrades - Lançamento Faseado e Rollback.
-
Classifique rejeições por Tópico de Diretriz ou política: Respostas emocionais desperdiçam ciclos - use os modelos do Playbook de Rejeição de Loja.
-
Anexe evidências às respostas do Centro de Resolução: Gravações de tela, contas de teste e trechos de manifesto superam "não conseguimos reproduzir".
-
Escalone após duas idas e vindas baseadas em evidências: Não após a primeira negação - o Conselho de Revisão da App Store e os apelos do Play precisam de fatos.
-
Reserve revisão acelerada para danos mensuráveis ao usuário: Promessas de receita sozinhas queimam credibilidade - Fluxo de Trabalho do App Store Connect.
-
Execute comando de incidente para deslistagem e crashes SEV1: IC, escriba, comunicações, jurídico - não threads paralelas no Slack - Resposta a Incidentes de Loja.
-
Faça postmortem de todo incidente de loja SEV1/SEV2: Atualize o playbook, inventário de privacidade e checklist de lançamento em até cinco dias úteis.
Versões da Stack: Esta página foi escrita para React 19.2.3, React Native 0.86.0 e Expo SDK 57 (expo ~57.0.4).