¿Has desarrollado tu primera aplicación móvil? ¡Felicidades! 🎉 Pero es demasiado pronto para relajarse: una de las etapas más nerviosas está por venir: la moderación. Según la sensación (y la práctica de los equipos), aproximadamente cada segundo la primera publicación recibe un «rechazo» o una lista de correcciones. Veamos qué es lo que suele fallar y cómo pasar la revisión a la primera.

Especificidad rusa: ¿qué necesitas saber?
Antes de profundizar en los detalles técnicos, es importante comprender las «realidades del mercado» actuales para los desarrolladores rusos. Afectan a las cuentas, los pagos, las API y la monetización y, por lo tanto, a la posibilidad de pasar la moderación sin problemas.
Problema con el pago de la cuenta de desarrollador
Apple y Google pueden bloquear los pagos con tarjetas rusas. Lo que suelen hacer:
Utilizan cuentas de amigos/socios en el extranjero
Trabajan a través de empresas intermediarias extranjeras
Utilizan tarjetas virtuales internacionales (por ejemplo, Wise)
Para Android, se están considerando alternativas: RuStore, NashStore, AppGallery
Restricciones regionales
Algunos servicios y API pueden no estar disponibles o funcionar con matices:
Mapas: API de Google Maps: posibles restricciones; alternativas: Yandex Maps, OpenStreetMap
Pagos: las opciones extranjeras pueden funcionar de forma limitada; piense en un modelo de monetización por adelantado
Push: Firebase suele funcionar, pero son posibles «matices inesperados»: ten un plan B
A continuación, lo más importante: por qué rechazan aplicaciones. Analicemos ambas plataformas de forma humana y con ejemplos.
🍎 Las 5 razones principales de rechazo en la App Store
1) Metadatos y descripción incorrectos
Lo que no funciona:
La descripción contiene contactos (correo electrónico, teléfono) o enlaces a redes sociales
Las capturas de pantalla no coinciden con la funcionalidad real
La descripción menciona Android/Google Play/otras plataformas
Las palabras clave contienen nombres de marcas/competidores
Cómo hacerlo correctamente:
❌ Malo
Лучшее приложение! Пишите на email@example.com
Доступно также в Google Play!✅ Bien
Планируйте задачи, управляйте проектами и повышайте продуктивность.
Синхронизация между устройствами, напоминания и удобный интерфейс.Importante para los desarrolladores rusos: si tienes una versión web con un dominio ruso, no insertes el enlace en la descripción «en la máquina». Apple puede encontrar fallos en el contenido del sitio.
2) Funcionalidad mínima (MVP demasiado «vacío»)
Rechazado si:
Es un envoltorio web demasiado simple sin valor
La aplicación duplica las funciones integradas de iOS (linterna/calculadora) sin sentido adicional
La aplicación no funciona sin una cuenta, pero no has proporcionado un nombre de usuario de prueba a los moderadores
Solución:
Proporcione una cuenta de demostración con datos completos
Describe en las notas qué y dónde hacer clic (sí, esto realmente ayuda)
Añade un valor único (no solo una vista web)
3) Confidencialidad y privacidad
Errores frecuentes:
Recopilación de datos sin consentimiento
No hay política de privacidad
Solicitud de permisos sin una explicación clara
Seguimiento sin el permiso correcto (ATT)
Ejemplo: en iOS, no escribas «necesito una cámara porque la necesito». Escribe de forma concreta y directa.
// Al solicitar una cámara en Info.plist, asegúrate de:
<key>NSCameraUsageDescription</key>
<string>Приложению нужен доступ к камере для
сканирования QR-кодов ваших заказов</string>
// Y NO solo:
<string>Нужен доступ к камере</string>Es mejor tener la Política de privacidad en inglés (para el público internacional) y en ruso (para el público ruso)
El enlace a la Política de privacidad es obligatorio en App Store Connect
Si recopilas correos electrónicos/teléfonos, explica directamente por qué
4) Errores y fallos durante las pruebas
Los moderadores realmente prueban la aplicación. Si se cae en el primer lanzamiento o muestra una pantalla en blanco, saldrás de la revisión más rápido de lo que puedes parpadear 😅
Problemas típicos:
Bloqueo en el primer inicio
Pantalla blanca/congelada
Botones no operativos
Problemas con la versión para iPad (si se indica que es compatible)
Cómo comprobarlo:
Prueba en dispositivos reales (no solo en un simulador)
Comprueba los escenarios principales: primer inicio, inicio de sesión, pantallas clave
Utiliza TestFlight para pruebas beta
5) Compras y monetización
Errores críticos:
Pago «sin pasar» por IAP (In-App Purchase)
Mención de precios más ventajosos en el sitio web
Suscripción sin gestión en la aplicación
La dura realidad: si no puedes aceptar pagos a través de Apple IAP (por ejemplo, no hay una empresa extranjera), considera el modelo: aplicación gratuita, activación a través de la web (sin mencionar precios) o publicación en tiendas alternativas.

🤖 Las 5 razones principales de rechazo en Google Play
1) No coincide con el nivel de API de destino
Google requiere un targetSdkVersion actualizado. Si tienes uno antiguo, prepárate para el rechazo.
// En 2025, como mínimo (ejemplo):
android {
compileSdk 34
defaultConfig {
targetSdk 34 // ¡No más bajo!
minSdk 24
}
}Por qué rechazan: targetSdk antiguo (por ejemplo, 28/30). Solución: actualizar el proyecto y las dependencias.
2) Violación de la política de contenido
Problemas frecuentes:
Los iconos/nombres son engañosos (demasiado similares a marcas conocidas)
Contenido 18+ sin clasificación
Funcionalidad de spam (acciones automáticas sin consentimiento)
Consejos médicos/financieros sin descargo de responsabilidad
Para el mercado ruso: si la aplicación está relacionada con las finanzas, escribe claramente que no es un asesor financiero. Ten cuidado con los temas de criptomonedas: la moderación puede ser estricta.
3) Problemas de permisos (Permissions)
Lo que enfurece a los moderadores: cuando solicitas todo y usas 1 botón.
<!-- ❌ Плохо: просите всё подряд -->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!-- но реально используете только камеру -->Regla: cada permiso debe estar justificado (incluyendo en las declaraciones de seguridad de datos).
4) No hay información obligatoria sobre la recopilación de datos (Data Safety)
Google requiere que se complete la Seguridad de los datos: qué se recopila, cómo se utiliza, si se transfiere a terceros, si es posible eliminar los datos.
Truco: incluso si no vas a recoger nada, indícalo directamente No data collected. Saltarse este paso a menudo termina en fracaso.
5) Elementos rotos o de prueba
Se ha cargado Debug en lugar de Release
Se han dejado botones/funciones de prueba
Registros en la consola (eliminar
console.log,Log.d())Tamaño AAB demasiado grande
✅ Собрали Release-версию
✅ Включили ProGuard/R8
✅ Удалили console.log / Log.d
✅ Протестировали на разных экранах
✅ Проверили работу на Android 14⚠️ Errores comunes para ambas plataformas
Tamaños incorrectos de iconos y capturas de pantalla
App Store
Icono 1024×1024px (sin canal alfa, sin redondeo)
Capturas de pantalla para iPhone y iPad por separado
Diferentes tamaños de pantalla (por ejemplo, 6,7", 6,5", 5,5")
Google Play
Icono 512×512px
Feature Graphic 1024×500px
Mínimo 2 capturas de pantalla (máximo 8)
JPG/PNG de hasta 8 MB
Una trampa típica: subes «capturas de pantalla de iPhone» con redondeos a Google Play y Play añade sus propios redondeos. Resulta en un doble marco y una «apariencia barata».
Problemas con la clasificación por edades
Incluso la mención del alcohol puede elevar la calificación
Chat/foro = calificación potencialmente más alta
Contenido aterrador o impactante, incluso «en broma» = mayor audiencia
Consejo: es mejor exagerar que quedarse corto y que te rechacen y tengas que volver a presentar la solicitud.
No se puede eliminar la cuenta
Requisito de los últimos años: si un usuario puede crear una cuenta, debe poder eliminarla directamente en la aplicación (y no «escribir al soporte»).
// Versión mínima
async function deleteAccount() {
if (confirm('Are you sure you want to delete the account? Data cannot be recovered.')) {
await api.deleteUser(userId);
await logout();
showMessage('Account deleted');
}
}Sitios alternativos (si es muy difícil)
RuStore — audiencia creciente, moderación propia
NashStore — alternativa para Android
AppGallery — tienda Huawei, gran audiencia en Asia
😵 Qué hacer si aun así te rechazan
No te asustes. El rechazo es normal, especialmente en la primera publicación.
Lee atentamente el motivo del rechazo (llega al correo electrónico/a la consola)
Corrija los puntos específicos
En el Centro de resoluciones/respuesta, describe qué se ha corregido exactamente
Enviar de nuevo
Si no entiendes el motivo, pide que te lo aclaren. Por lo general, los moderadores responden. Para desarrolladores de habla rusa: escriba en inglés simple, sin jerga.
🏁 Conclusión: reglas principales
Regla de oro n.º 1: lee las guías. La mayoría de las denegaciones se deben a ignorar la documentación.
Regla de oro n.º 2: prueba en dispositivos reales. El emulador no mostrará todos los problemas.
Regla de oro n.º 3: Sea honesto. Calificación, permisos, funcionalidad, sin «trucos».
Regla de oro n.º 4: no te apresures. Una semana de preparación ahorra un mes de reenvíos.
Para desarrolladores rusos: ten un plan de respaldo. Las restricciones pueden cambiar repentinamente. Tenga contactos de personas/empresas para publicar y piense en tiendas alternativas.
🎓 ¿Quieres profundizar en el desarrollo móvil?
La publicación es el toque final de un largo viaje. Codice nos ocupamos de todo el proceso, desde la idea hasta el lanzamiento:
Desarrollo en React Native, Flutter y tecnologías nativas
Arquitectura de aplicaciones móviles
Trabajar con API y bases de datos
Configuración de CI/CD para publicación automática
Monetización y análisis
Tareas y proyectos prácticos — sin agua
¿Necesitas ayuda? ¡Estamos aquí! 🤝
¿Tienes problemas con un error? ¿No superas la moderación? ¿No sabes cómo configurar correctamente la seguridad de los datos o los metadatos?
Únete a nuestro Comunidad de Telegram: más de 2000 desarrolladores activos te ayudarán a entenderlo.
👉 Encuentra a Kodik en Telegram y forma parte de una comunidad activa de desarrolladores!
