10 exemplos para você começar com Operações de Loja - 7 básicos e 3 intermediários. Cada exemplo avança um passo no caminho compilação → teste → envio → lançamento → monitoramento para aplicativos Expo SDK 57 na App Store Connect e Google Play Console.
Vincule o projeto ao EAS e configure pelo menos um perfil de compilação production em eas.json. Uploads para a loja exigem compilações de distribuição para loja - não artefatos de development ou simulador.
Todo upload para a loja precisa de um novo número de compilação (iOS) e versionCode (Android). A version de marketing pode permanecer a mesma para hotfixes; inteiros nativos devem sempre aumentar.
Valide assinaturas, permissões e formulários de política em pipelines reais da loja antes que usuários de produção ou a Revisão de Aplicativo vejam a compilação.
# iOS → TestFlight (same binary as App Store submit)eas build --profile production --platform ioseas submit --platform ios --latest# Android → internal testing trackeas submit --platform android --profile production --latest# eas.json submit.android.track: "internal"
Faixa
Caminho no Console
Público típico
TestFlight interno
App Store Connect → TestFlight
Até 100 usuários ASC, sem Revisão Beta
TestFlight externo
TestFlight → Testes externos
Até 10 mil, Revisão Beta de Aplicativo
Play interno
Testing → Internal testing
Até 100 e-mails, minutos para processar
Faixas internas capturam ID de bundle incorreto, permissão de push ausente e lacunas de Segurança de dados de forma barata
TestFlight externo e beta aberto adicionam latência de revisão - planeje o calendário de acordo
Revisores precisam de credenciais funcionais, recursos desativados e caminhos de reprodução - especialmente para aplicativos Expo com login restrito.
<!-- store/review-notes-ios.md -->## App Review notes (iOS)**Demo account**- Email: reviewer@example.com- Password: ReviewDemo2026!**How to test core flow**1. Launch app → tap Sign In → use demo account above2. Home → tap Scan → grant Camera when prompted → scan any UPC3. Profile → Settings → Delete Account (required for account-creation apps)**Backend**- Production API; no VPN required- Push notifications: send test from Profile → Notification test**ATT / tracking**- We do not track users across apps; ATT prompt is not shown- Analytics: first-party only (Sentry crashes, no ad ID)**Contact**- engineering-mobile@example.com (responds within 4 business hours)
Anexe o mesmo conteúdo em App Store Connect → Informações de Revisão do Aplicativo → Notas
Atualize senhas a cada lançamento - contas de demonstração expiradas causam falsas rejeições
Mencione se os recursos são restritos por geolocalização ou exigem hardware (NFC, LiDAR)
A aprovação da loja não é a linha de chegada - monitore falhas e ANRs à medida que a porcentagem de rollout aumenta.
// lib/releaseHealth.ts - tag sessions with store buildimport * as Application from "expo-application";import Constants from "expo-constants";export function releaseContext() { return { appVersion: Application.nativeApplicationVersion, buildNumber: Application.nativeBuildVersion, updateId: Constants.expoConfig?.updates?.checkAutomatically, platform: Application.applicationId, };}
## First 72 hours after live- [ ] Crash-free sessions ≥ 99.5% (Sentry / Play Vitals)- [ ] No spike in 1-star reviews mentioning "crash" or "login"- [ ] iOS phased release day 1–2: hold at 1% if crashes climb- [ ] Play staged rollout: pause at 20% if ANR rate doubles baseline- [ ] Support inbox macro ready for "update app" replies
Compare o número de compilação nos relatórios de falha com a compilação que você promoveu - OTA não pode corrigir regressões nativas
Um calendário recorrente evita surpresas de "envio de sexta-feira" e alinha o marketing com o tempo de lançamento faseado.
<!-- docs/release-train.md -->| Week | Activity | Owner ||------|----------|-------|| T-14 | Feature freeze on `main` | EM || T-10 | Cut `release/x.y.z`, bump build numbers | Mobile lead || T-7 | TestFlight + Play internal to QA | QA || T-5 | Metadata + privacy forms signed off | PM + Legal || T-3 | `eas submit` both platforms | Mobile lead || T-2 | iOS: submit for review; Android: production with 5% rollout | Mobile lead || T-0 | iOS: release with phased 7-day; Android: 20% → 50% → 100% | Mobile lead || T+1 | Go/no-go from crash dashboards | On-call |
Lançamento faseado do iOS leva até 7 dias para atingir 100% - planeje os pushes de marketing após o dia 3-4 se as métricas estiverem limpas
Rollout escalonado do Play é porcentagem manual - documente quem pode pausá-lo (veja o runbook de incidentes)
Formulários de comerciante do Digital Services Act da UE e classificações etárias devem ser concluídos antes de T-3 ou os territórios da UE serão bloqueados