Escritos

Cómo publicar una app en App Store y Google Play con React Native y Expo

Cuando termina el código, el trabajo no ha terminado. Costes de las cuentas de desarrollador, la regla de los 12 testers de Google, la obligación de la declaración de privacidad de Apple y el orden real para compilar y enviar con EAS.

Furkan Özay2 de septiembre de 2026 · 8 min de lectura
czCZAY.DEV // EDITORIALES
MODERN WEB & REACT

#Mobil · 8 MIN DE LECTURA

FURKAN ÖZAYVOL. 2026 // #640B

Lo difícil de desarrollar una aplicación móvil no es el código, como se suele pensar. Sacar dos plataformas de una sola base de código es hoy bastante cómodo con React Native y Expo. La verdadera sorpresa la dan las tiendas: cuentas, formularios de privacidad, requisitos de pruebas y motivos de rechazo.

Este artículo cuenta esa parte: lo que necesitas para que tu app llegue realmente a producción una vez que has terminado de programar.

Primero, el coste

PrecioFormato
Apple Developer Program99 USDAnual: si dejas de pagar, tus apps desaparecen de la tienda
Google Play Console25 USDPago único: de por vida de la cuenta

La diferencia importa: en Apple es una suscripción. No puedes publicar la app y olvidarte; tienes que renovar cada año.

Consejo: ¿A nombre de quién va la cuenta?

Si desarrollas la app para un cliente, las cuentas deben abrirse a nombre del cliente. Si la app se publica desde tu cuenta, cuando vuestros caminos se separen la propiedad de la app se convierte en un problema: en Apple la transferencia entre cuentas es posible pero requiere un procedimiento, y en algunos casos no es posible en absoluto.

La regla de los 12 testers de Google

Es lo que más desbarata el calendario de quien la pilla desprevenido, y casi no aparece en las fuentes en español.

Importante: La regla

Para las cuentas de desarrollador personales creadas después del 13 de noviembre de 2023: para poder pasar una app a producción, primero tienes que ejecutar una prueba cerrada, con al menos 12 testers durante 14 días seguidos. Solo después de completarla puedes solicitar el acceso a producción desde Play Console.

Cuando la regla salió eran 20 usuarios; en diciembre de 2024 se redujo a 12.

Los detalles duelen:

  • Los 14 días deben ser ininterrumpidos. Si un usuario se une y se va, no cuenta; si vuelve a unirse, el contador empieza de cero.
  • Los 12 usuarios deben estar inscritos a la vez. No basta con que hayan probado la app 12 personas en momentos distintos.
  • Este plazo se suma al tiempo de desarrollo. Cuando la app está terminada, tienes al menos dos semanas más por delante.

Advertencia: Consecuencia práctica

Si le prometiste al cliente "estará publicada en tres semanas" y la cuenta es una cuenta personal recién creada, no puedes cumplir esa promesa. En las cuentas corporativas (de organización) este requisito no se exige: por eso lo que marca el calendario es el tipo de cuenta.

Por eso yo cuento los plazos no desde el día en que se abre la cuenta, sino desde el día en que se reúnen los testers.

La declaración de privacidad de Apple

Desde el 1 de mayo de 2024, todas las apps nuevas y actualizaciones que se envían a la App Store deben incluir una declaración de privacidad (PrivacyInfo.xcprivacy) para los SDK de terceros que usan APIs de "required reason". Es un archivo plist y declara qué tipos de datos recoge la app y con qué justificación usa determinadas APIs.

Las apps sin esta declaración son rechazadas en la revisión.

En Expo esto es manejable: la mayoría de las librerías traen su propia declaración, y las que añadas tú las defines en la configuración. Pero el día que digas "el código está listo, enviemos", puede ser lo primero con lo que te encuentres.

Formularios: declarar qué recoges

Ambas tiendas piden una declaración de recogida de datos:

  • Apple — App Privacy: ¿Qué datos recoges, para qué los usas, se asocian al usuario? Las "etiquetas de privacidad" de la página de la tienda se generan a partir de aquí.
  • Google — Data Safety: El equivalente de las mismas preguntas en Google, más si los datos se cifran y si el usuario puede solicitar su eliminación.

La declaración debe coincidir con el comportamiento real de la app. Si se detecta una discrepancia, la app puede ser retirada.

Explicación: La ventaja de una app sin servidor

Al escribir BreakChain tomé una decisión consciente: ningún servidor. El usuario introduce la fecha en que dejó de fumar, la cantidad diaria y el precio; todos los cálculos se hacen en el dispositivo y los datos se quedan solo en el dispositivo mediante AsyncStorage. Las notificaciones también son locales.

Esto tiene un gran efecto en las tiendas: no hay datos recogidos y, por tanto, no hay datos que declarar. El texto de privacidad es corto, los formularios llevan unos minutos y el riesgo de una brecha de datos es cero, porque los datos que se conservan son cero.

Preguntarte desde el principio si la app realmente necesita un servidor no solo determina el coste de infraestructura, sino también la carga legal.

La política de privacidad debe ser una URL

Las dos tiendas exigen que la política de privacidad esté publicada en una dirección accesible. No basta con que haya un texto dentro de la app; tienes que dar un enlace en el registro.

Si la app no tiene sitio web propio, lo más práctico es abrir una subpágina en un sitio existente. En este sitio, /privacy-policy/breakchain está así: esa es la dirección a la que apunta el registro en la tienda.

Compilar y enviar con EAS

Si usas Expo, no necesitas un Mac local para compilar; EAS Build también gestiona los certificados de firma.

Bash
# Kurulum
npm install -g eas-cli
eas login
eas build:configure
 
# Mağaza için derleme
eas build --platform ios
eas build --platform android
 
# Mağazaya gönderme
eas submit --platform ios
eas submit --platform android

La gestión de certificados y perfiles es la mayor comodidad aquí: la firma en iOS ha sido tradicionalmente la parte más molesta del proceso, y EAS la hace por ti.

Advertencia: Números de versión

En cada envío a la tienda, el número de compilación (buildNumber / versionCode) debe haber aumentado. No puedes enviar por segunda vez con el mismo número, y el mensaje de error no se entiende a primera vista. EAS puede incrementarlo automáticamente; conviene activarlo.

Ficha de la tienda

Lo que hay que preparar cuando el código está terminado:

  • Icono de la app: no redondees tú las esquinas, la tienda aplica su propia máscara. Envíalo cuadrado y relleno.
  • Capturas de pantalla: en tamaños de dispositivo concretos y en un número concreto. Es la tarea que la mayoría deja para el último día y la que más tiempo lleva.
  • Texto de descripción: también se usa en la búsqueda dentro de la tienda.
  • Categoría, clasificación por edad, datos de contacto.
  • Cuenta de prueba: si la app tiene inicio de sesión, tienes que darle al revisor una cuenta que funcione. Si no lo haces, te rechazan.

Motivos de rechazo frecuentes

Resumen: Comprobación antes del envío

  • La URL de la política de privacidad no funciona o es una página en blanco
  • La recogida de datos declarada no coincide con el comportamiento real de la app
  • En una app con inicio de sesión, no se ha dado una cuenta de prueba al revisor
  • La app parece "inacabada": pantallas vacías, botones que no funcionan
  • Las capturas de pantalla no muestran el aspecto real de la app
  • Se pide un permiso necesario pero no se explica para qué
  • Falta la declaración de privacidad en iOS

Publicar no es el final

Después de publicar la app también hace falta mantenimiento: las versiones de las plataformas cambian, Apple y Google introducen de vez en cuando nuevas obligaciones de declaración, las librerías quedan obsoletas. "Escríbelo una vez y olvídate" vale menos en una app móvil que en la web, porque las dos plataformas que hay debajo avanzan cada una con su propio calendario.

Por eso, en los proyectos móviles hablo de las actualizaciones de versión desde el principio: ¿quién actualizará la app y con qué frecuencia?

Consejo: Hagamos este trabajo juntos

El desarrollo con React Native y la gestión de los procesos de publicación en las tiendas es uno de los servicios que ofrezco; he explicado el alcance y cómo trabajamos en la página de aplicaciones móviles. Para ver un ejemplo ya publicado, echa un vistazo a BreakChain.

Nota: Fuente

El requisito de pruebas de Google Play se basa en la página de Ayuda de Play Console, y la obligación de la declaración de privacidad de Apple en la documentación de Expo. Las reglas de las tiendas cambian; comprueba la versión actual antes de enviar.

Hoja de ruta y herramienta interactivas

Sigue leyendo