Google Play: Desde el registro de la cuenta de desarrollador hasta el envío para revisión
Objetivo: Primero, llevar la versión de prueba cerrada al estado "En revisión" (en la práctica, puede aprobarse el mismo día), luego cumplir con los requisitos de prueba para cuentas personales reuniendo evaluadores, y finalmente enviar la versión de producción a "En revisión".
Antes de empezar: Confirma que los pasos 1 a 4 de ship-my-game estén completos (archivo de progreso, canales, chequeo médico, navegador). Si no, léelo primero. El progreso de este canal se escribe en la sección ## google-play del archivo de progreso.
Antes de comenzar, pregunta al usuario estas cinco cosas y escribe las respuestas en el archivo de progreso [Práctica: Lista de preguntas]:
- ¿Tienes una cuenta de desarrollador de Play? ¿Es personal u organización? ¿Cuándo te registraste aproximadamente?
- ¿En qué país o región te encuentras? Esto determina si la cuenta de comerciante puede recibir pagos Oficial.
- ¿Cómo planeas ganar dinero: anuncios, compras dentro de la aplicación, descarga paga, o no generar ingresos? Esto afecta qué información personal se hace pública y cómo se declara la identidad del comerciante.
- ¿En qué URL pública de HTTPS tienes la política de privacidad? ¿Cuál es el correo electrónico de contacto público que usarás en la tienda?
- ¿Tienes una cuenta de AdMob? Se recomienda usar la misma cuenta de Google que para la cuenta de desarrollador de Play.
Luego, informa al usuario de tres cosas:
-
Umbral de prueba: Para cuentas personales registradas después del 13 de noviembre de 2023, se requieren al menos 12 evaluadores reales que participen continuamente durante 14 días en la prueba cerrada antes de solicitar la versión de producción (la revisión suele tardar hasta 7 días) Oficial. Por lo tanto, desde que se aprueba la prueba cerrada hasta el lanzamiento de producción, se necesita un mínimo de algo más de dos semanas.
-
Información que se hará pública:
- Las cuentas personales harán público el nombre legal completo, el país y el correo electrónico del desarrollador.
- Una vez que comiences a generar ingresos en Google Play (aplicaciones de pago, compras dentro de la aplicación), se hará pública tu dirección completa.
- Las cuentas personales declaradas como "comerciante" también harán públicos el teléfono y la dirección.
Antes del registro, explícalo en la sección 1 de onboarding.md.
-
Subida de AAB: Un AAB suele tener decenas de MB; la herramienta del navegador solo permite subir 10 MB a la vez, por lo que el primer AAB debe ser arrastrado por el usuario a la página web. Más adelante se puede usar la API de desarrollador (no probada en este repositorio); consulta automation.md.
Tareas de la persona
| Tarea | Fase |
|---|---|
| Registro: Pago de US$25, documentos de identidad, verificación de correo y teléfono, verificación de dispositivo Android real (escaneo con la aplicación móvil de Play Console), declaración de identidad de comerciante | P1 |
| Aceptación de: Acuerdo de distribución para desarrolladores; declaraciones de "Políticas del programa para desarrolladores" y "Leyes de exportación de EE. UU." al crear la aplicación; Términos de IARC; Términos de PGS y Google Cloud (al hacer clic en "Usar"); Política de datos del usuario de las API de Google | P1, P3, P6 |
| Arrastrar el AAB al campo de carga en la página web | P4, luego en cada actualización (cuando no se use la API) |
| "Enviar N cambios para revisión": cuando el usuario diga "enviar", tú haces clic; si el sistema de permisos lo bloquea, el usuario hace clic | P4, P7 |
| Verificación humana al crear un grupo de Google; publicar en comunidades como Reddit, pruebas mutuas; unirse a la prueba con tu propia cuenta | P5 |
| Confirmar sonido, inicio de sesión de PGS y sensación general en un dispositivo real | P2, P6 |
| "Publicar aplicación" en la pantalla de consentimiento de OAuth; "Publicar proyecto de juego" en PGS | P6 |
| Registrar AdMob: país, términos, verificación humana, datos de pago e impuestos | P6 |
| Aceptar publicar la política de privacidad y app-ads.txt en el sitio web del usuario; si el alojamiento requiere pago, el usuario decide | P2, P6 |
| Cobros: Documentos de identidad de AdMob, código PIN, método de pago, información fiscal de EE. UU.; perfil de pago de comerciante de Play y cuenta bancaria | Después del lanzamiento |
Requisitos de ingeniería
El paso 3 de ship-my-game enumera las diferencias según esta tabla. Los detalles están en references/build.md.
| Elemento | Requisito | Base |
|---|---|---|
| Unity | La API objetivo 36 requiere 6000.0.46f1+ o 2022.3.62f1+; páginas de 16 KB requieren 6000.0.38f1+ o 2022.3.56f1+, Burst 1.8.21+. En la práctica se usa 6000.6.5f1 | Oficial; [Práctica] |
| Módulo | Android Build Support (incluye OpenJDK, SDK, NDK) | — |
| targetSdk | 36 (a partir del 31 de agosto de 2026; la fecha límite de extensión, 1 de noviembre de 2026, ya pasó). minSdk no menor a 24, en la práctica 26 | Oficial; [Práctica] |
| Arquitectura y formato | IL2CPP, ARM64 + ARMv7, AAB; tabla de símbolos incluida en el AAB | [Práctica], establecido por scripts/ShipAndroidBuild.cs |
| Páginas de memoria de 16 KB | Los paquetes que contienen bibliotecas nativas (todos los de Unity) deben estar alineados a 16 KB; verificar después de la compilación | Oficial |
| Firma | La clave de subida se genera con scripts/make_upload_keystore.sh y se coloca fuera del proyecto; la clave de firma de la aplicación es gestionada por Google | [Práctica] |
| Sonido | Cada escena que se inicia debe tener exactamente un AudioListener | [Práctica-Fallo] Dos juegos se lanzaron sin sonido por esto |
| Anuncios | Durante la prueba cerrada, usar siempre el ID de anuncio de prueba de Google; ocultar la entrada si no se pueden obtener anuncios | [Práctica] |
| Compras dentro de la aplicación | Unity IAP ≥ 4.14.0 o 5.x (librería de facturación de Play ≥ 8) | Oficial |
| Política de privacidad | Página web pública HTTPS, con enlace tanto en la consola de Play como dentro del juego; plantilla templates/privacy-policy.en.html | Oficial; [Práctica] |
| Permisos sensibles | No incluir permisos no utilizados de fotos, video, contactos, ubicación, etc., en el manifiesto combinado | Oficial |
Fases
Las rutas de comandos y enlaces ( scripts/… , ../ship-my-game/… ) comienzan desde el directorio de esta habilidad. Las rutas del backend usan el texto original de la interfaz en chino de Play Console.
P1 Cuenta (si ya existe, saltar a la lista de verificación de finalización)
- Abre https://play.google.com/console , lee la página para determinar si hay una cuenta de desarrollador y si es personal u organización.
- Si no hay cuenta: Primero explica la sección 1 de onboarding.md "Qué información se hará pública". Una vez que el usuario esté de acuerdo, guíalo para registrarse. El pago, los documentos, los códigos de verificación y la verificación del dispositivo los realiza el usuario Oficial.
- Identidad de comerciante: Se debe declarar al crear una cuenta nueva ("Gestionar cuenta → Detalles de la cuenta → Sobre ti"). Para cuentas existentes, la fecha límite es el 1 de febrero de 2027. El usuario decide honestamente; tú explicas los criterios y las consecuencias Oficial.
- En la "Inicio", limpia las tareas pendientes de verificación y confirma el estado de "Verificación de desarrollador de Android" (al crear una aplicación nueva, el nombre del paquete se registra automáticamente) Oficial.
Criterios de finalización:
- No hay tareas de verificación pendientes en la página de inicio.
- El archivo de progreso indica el tipo de cuenta, la fecha de registro (para determinar si aplica la regla de 12 personas × 14 días) y la identidad de comerciante.
P2 Proyecto, clave de subida, primer AAB
- Modifica el proyecto según los "Requisitos de ingeniería": copia
scripts/ShipAndroidBuild.csaAssets/Editor/, verifica el AudioListener en cada escena. - Genera la clave de subida:
bash scripts/make_upload_keystore.sh <nombre del paquete>, luego recuerda al usuario que haga una copia de seguridad de~/.shipmygame/keys/<nombre del paquete>/[Práctica]. - Compilación:
../ship-my-game/scripts/unity_build.sh <directorio del proyecto> Android ShipAndroidBuild.Aab release -shipVersion 1.0.0 -shipVersionCode 1.[Práctica]: Este script ha generado un APK de depuración en un proyecto vacío; el mismo script de compilación ha producido AAB firmados en dos juegos.
- Autocomprobación: Usa bundletool para ver el manifiesto (targetSdk 36, ID de aplicación de anuncio de prueba), confirma que los símbolos estén en el AAB y verifica la alineación de 16 KB. Los comandos están en la sección 4 de build.md.
- Compila un APK de depuración con
ShipAndroidBuild.Apk, pide al usuario que lo instale en su teléfono y confirme que tenga sonido[Práctica: el emulador no puede probar el sonido]. - Genera la política de privacidad según
templates/privacy-policy.en.html: reemplaza todos los{{placeholders}}, elimina las secciones de AdMob, PGS y compras que no use el juego. Una vez que el usuario esté de acuerdo, publícala en una URL pública HTTPS, y confirma concurlque devuelva 200[Práctica].
Criterios de finalización:
- Hay un AAB firmado, con el versionCode y los resultados de la autocomprobación registrados en el archivo de progreso.
- El usuario ha confirmado que hay sonido en un dispositivo real.
- La URL de la política de privacidad devuelve 200.
P3 Crear aplicación, contenido de la aplicación, ficha de la tienda
- "Inicio → Crear aplicación": Rellena el nombre, el nombre del paquete (primero haz clic en "Verificar disponibilidad"), el idioma predeterminado, juego, gratuito o de pago; el usuario marca las dos declaraciones. Campos detallados en la sección 1 de console.md
[Práctica]. - Completa una por una las 11 secciones de "Completar la configuración del juego" en el centro de información: Política de privacidad, Detalles de inicio de sesión, Anuncios, Clasificación del contenido, Público objetivo, Seguridad de los datos, Aplicación gubernamental, Productos y servicios financieros, Salud, Categoría e información de contacto, Ficha de la tienda. Las respuestas están en la sección 2 de console.md
[Práctica]. - "Monitorización y mejoras → Políticas y planes → Contenido de la aplicación": Borra todas las "Declaraciones de inicio", especialmente el "ID de publicidad". No está entre las 11 secciones, y si no se completa, el envío será bloqueado
[Práctica-Fallo → Arreglado]. - "Publicación en la tienda → Configuración de la tienda": Categoría, máximo 5 etiquetas, información de contacto (el sitio web debe usar el dominio donde se aloja app-ads.txt)
[Práctica]. - "Publicación en la tienda → Ficha de la tienda": Texto, icono, imagen destacada, capturas de pantalla, declaración de recursos de IA. Para varios idiomas, usa "Importar traducción con IA", y revisa cada idioma después de la importación. Consulta listing.md
[Práctica].
Criterios de finalización:
- La sección "Completar la configuración del juego" en el centro de información ha desaparecido por completo.
- No hay elementos pendientes en "Contenido de la aplicación".
- El estado de la ficha de la tienda es "Listo para enviar", y los archivos fuente de los materiales están en
publish/google-play/.
P4 Primera publicación de la prueba cerrada (compuerta de envío)
-
"Pruebas y publicación → Pruebas → Prueba cerrada" (canal predeterminado "Prueba cerrada - Alfa"):
- País/región: selecciona "Seleccionar todo";
- Evaluadores: elige un grupo de Google (recomendado) o una lista de correo; solo se puede elegir uno;
- Rellena el correo electrónico de comentarios.
Consulta la sección 5 de console.md
[Práctica]. -
"Crear nueva versión": Primero, rellena el nombre de la versión y las notas de la versión en varios idiomas, y haz clic en "Guardar como borrador". Luego, pide al usuario que arrastre el AAB al campo de carga; tú supervisas la página hasta que aparezca una entrada como "1 (1.0.0)"
[Práctica]. -
"Siguiente" → Lee "Expandir detalles de verificación" → "Guardar" → "Resumen de la versión", espera a que se ejecute la comprobación rápida (máximo unos 14 minutos); si hay problemas, arréglalos primero
[Práctica]. -
Según la compuerta de envío, enumera el contenido al usuario. Cuando el usuario diga "enviar", haz clic en "Enviar N cambios para revisión" → "Enviar cambios para revisión"; si el sistema de permisos lo bloquea, pide al usuario que haga clic. Consulta la sección 1 de review.md
[Práctica].
Criterios de finalización:
- El resumen de la versión muestra "Cambios en revisión".
- El archivo de progreso registra la hora de envío y el tiempo estimado (en la práctica, de 10 a 42 minutos; oficialmente, suele tardar hasta 7 días), así como que se debe ir al "Resumen de la versión" para ver los resultados.
P5 Reclutar evaluadores, esperar 14 días (cuenta personal; se puede hacer en paralelo con P6)
- Después de la aprobación, ve a la pestaña "Evaluadores" y obtén dos enlaces de unión del aria-label del botón de copiar
[Práctica]. - Redacta el texto de reclutamiento con
templates/testers-recruitment.md. Al crear un grupo de Google, la verificación humana final la realiza el usuario; las publicaciones en la comunidad las hace el usuario[Práctica]. Consulta la sección 2 de review.md. - Lee diariamente la tarjeta "Solicitar permiso de publicación de versión de producción" en el centro de información: "Actualmente, hay N evaluadores que han participado durante M días consecutivos"
[Práctica: texto de la tarjeta]. - Envía actualizaciones según los comentarios: aumenta el versionCode en 1, sigue los pasos 2 a 4 de P4, o usa la API de automation.md. Agrupa los cambios para enviarlos juntos, ya que volver a enviar cancela la revisión en curso
[Práctica]. - Registra los comentarios de "Monitorización y mejoras → Calificaciones y reseñas → Comentarios de la prueba" y las correcciones correspondientes en el archivo de progreso para usarlos en el cuestionario de P7 Oficial.
Criterios de finalización: Ambas condiciones de la tarjeta ("Al menos 12 evaluadores" y "Al menos 14 días") están marcadas; el archivo de progreso contiene registros de comentarios y correcciones.
P6 Capacidades de la plataforma (en paralelo con P5)
-
Servicios de juego de Play:
- Backend: Configuración, pantalla de consentimiento de OAuth, credenciales (se deben crear SHA-1 de todos los certificados de firma), logros (al menos 10), tablas de clasificación, evaluadores;
- Unity:
scripts/ShipPgsSetup.csyscripts/ShipPlayGames.cs; - "Publicar aplicación" y "Publicar proyecto de juego" los hace clic el usuario.
Consulta la sección 1 de capabilities.md
[Práctica: configuración de backend]. -
AdMob:
- Crea la aplicación y las unidades de anuncios,
scripts/ShipAds.cs(consentimiento UMP → inicialización → recompensa, intersticial, banner); - Publica el mensaje de GDPR, prepara app-ads.txt;
- Durante las pruebas, usa el ID de prueba; asocia la tienda solo después del lanzamiento oficial.
Consulta la sección 2 de capabilities.md
[Práctica: configuración de backend]. - Crea la aplicación y las unidades de anuncios,
-
Revisión dentro de la aplicación, actualización dentro de la aplicación:
scripts/ShipPlayReview.cs; compras dentro de la aplicación: Unity IAP. Consulta las secciones 3 y 4 de capabilities.md [Oficial]. -
Cada vez que se integre una capacidad, actualiza simultáneamente la declaración de seguridad de datos y la política de privacidad, y envíalas junto con la siguiente versión (pasos 2 a 4 de P4)
[Práctica].
Criterios de finalización:
- Cada capacidad integrada ha sido verificada por el usuario en un dispositivo real, instalada desde el canal de prueba.
- La configuración de PGS se ha publicado; la declaración de seguridad de datos y la política de privacidad son coherentes con las funcionalidades.
- Los ID de anuncio reales solo están registrados en el archivo de progreso, no se han incluido en el paquete de prueba.
P7 Solicitar y publicar la versión de producción (compuerta de envío)
- Una vez que las tres condiciones de la tarjeta estén marcadas, primero ve a las páginas enumeradas en la plantilla para consultar los datos de la prueba, luego redacta el cuestionario de tres partes (9 preguntas en total, cada pregunta de texto con un máximo de 300 caracteres) según
templates/production-access-answers.md, y pide al usuario que las confirme una por una[Práctica]. - Enumera al usuario según la compuerta de envío: respuestas del cuestionario, número de evaluadores y días, y tiempo estimado de 7 días para obtener resultados. Cuando el usuario diga "enviar", en "Centro de información → Solicitar permiso de publicación de versión de producción", haz clic en "Solicitar publicación de versión de producción"; haz clic en "Siguiente" en los dos primeros pasos y en "Aplicar" en el último paso. La página debe mostrar "Hemos recibido su solicitud de permiso de publicación de versión de producción" para que se considere enviada
[Práctica]. Registra la hora de envío en el archivo de progreso; los resultados se ven en el correo y en la tarjeta del centro de información. - Después de la aprobación (notificación por correo al propietario de la cuenta), prepara la versión de producción según la sección 6 de review.md:
- Cambia al ID de anuncio real y al ID de aplicación, aumenta el versionCode en 1 (puede compilarse mientras se esperan los resultados; este paquete solo se envía a producción);
- Publica primero la configuración de PGS; espera al menos 2 horas antes de lanzar el juego;
- "Pruebas y publicación → Versión de producción → 'Crear nueva versión'".
- Vuelve a pasar por la compuerta de envío, envía la versión de producción a revisión y lee la página para confirmar que está en "En revisión".
Criterios de finalización:
- En el resumen de la versión, la entrada de la versión de producción aparece bajo "Cambios en revisión".
- El archivo de progreso registra la hora de envío, el tiempo estimado y la ubicación para ver los resultados (resumen de la versión, correo).
Periodo de espera y después del lanzamiento
- Esperar la revisión de la prueba cerrada (en la práctica, decenas de minutos): Haz la configuración de backend de los materiales de la tienda, PGS y AdMob.
- Esperar 14 días: Revisa a diario el número de evaluadores y días en la tarjeta; envía 1 o 2 actualizaciones según los comentarios; realiza la integración de capacidades durante este tiempo.
- Esperar la revisión del permiso de producción (unos 7 días): Compila el paquete con anuncios reales y verifica la lista de verificación (sección 6 de review.md); prepara los materiales promocionales de la tienda.
- Después del lanzamiento: Asocia la tienda en AdMob y completa la verificación de app-ads.txt (sección 2.7 de capabilities.md); los evaluadores de la prueba cerrada también recibirán la versión de producción y anuncios reales; pausar el canal de prueba no lo bloquea (sección 6 de review.md); supervisa las tasas de fallos y ANR en Android vitals. A partir de febrero de 2027, se evaluará la memoria; los juegos con DEX superior a 50 MB deberán optimizar el código (Oficial). En cada actualización, aumenta el versionCode y agrupa los cambios para enviarlos juntos.
- Cobros: Cuando el saldo de AdMob alcance los 10 USD, se debe verificar la identidad y la dirección (código PIN por correo postal, unas 3 semanas); cuando alcance los 100 USD, se paga alrededor del día 21 de cada mes; para vender compras dentro de la aplicación, primero se debe crear un perfil de pago de comerciante y añadir una cuenta bancaria; los ingresos del mes anterior se pagan a partir del día 15 de cada mes. Consulta payouts.md.
- Rechazado o bloqueado: Consulta la sección 4 de review.md y troubleshooting.md.