{}const=>[]async()letfn</>var
DesarrolloMóvil

Autorización en 2026 para principiantes: correo electrónico/contraseña, OAuth, OTP y JWT sin dolor 🔐

Analizamos cómo funciona un inicio de sesión moderno: por qué se deben cifrar las contraseñas, cómo funcionan los JWT y los tokens de actualización, qué sucede al iniciar sesión a través de Google/Apple y cómo implementar OTP/TOTP sin agujeros de seguridad. Además, errores frecuentes de los principiantes y una lista de verificación para la entrevista.

К

Kodik

Autor

7 min de lectura

¿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.

🔥 100.000+ estudiantes ya están con nosotros

¿Cansado de leer teoría?
¡Hora de programar!

Kodik — una app donde aprendes a programar con práctica. Mentor IA, lecciones interactivas, proyectos reales.

🤖 IA 24/7
🎓 Certificados
💰 Gratis
🚀 Empezar
Se unieron hoy

🍎 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.

  1. Lee atentamente el motivo del rechazo (llega al correo electrónico/a la consola)

  2. Corrija los puntos específicos

  3. En el Centro de resoluciones/respuesta, describe qué se ha corregido exactamente

  4. 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!

🎯Deja de postergar

¿Te gustó el artículo?
¡Hora de practicar!

En Kodik no solo lees — escribes código de inmediato. Teoría + práctica = habilidades reales.

Práctica instantánea
🧠IA explica código
🏆Certificado

Sin registro • Sin tarjeta