Conecta tus cuentas de App Store y Google Play.
Lo que necesitas
Mokbi nunca ve la contraseña de tu tienda. En su lugar, creas una clave con permisos limitados para cada tienda y la pegas una sola vez. Se verifica con la tienda, se guarda cifrada y puedes desconectarla cuando quieras.
- Google Play: una service account key de Google Cloud, descargada como archivo JSON, de un proyecto con la Google Play Android Developer API activada, además de esa service account invitada a tu Play Console.
- App Store Connect: una clave de API, descargada como archivo
.p8, más su Key ID y el Issuer ID de tu equipo.
Esto solo lo haces una vez por tienda. A partir de ahí, publicar y volver a publicar es un solo clic. Empieza por Google: tiene más partes en juego.
Google Play, parte 1: crea la service account key
Esto ocurre en Google Cloud Console (console.cloud.google.com).
- Crea o elige un proyecto, por ejemplo «Mokbi Publisher».
- Ve a APIs & Services → Library, busca Google Play Android Developer API y haz clic en Enable.
- Ve a APIs & Services → Credentials → Create credentials → Service account. Ponle un nombre como
mokbi-play-publisher. Puedes dejar los roles del proyecto vacíos: los permisos reales vienen de la Play Console, en la parte 2. - Abre la service account, ve a la pestaña Keys, luego Add key → Create new key → JSON, y descarga el archivo. Ese JSON es lo que pegas en Mokbi. El
client_emailque contiene (termina en.iam.gserviceaccount.com) es la dirección que invitas en el siguiente paso, así que tenla a mano.
¿Te aparece «Service account key creation is disabled»? Es una política de organización de Google llamada iam.disableServiceAccountKeyCreation, activada por defecto bajo «Secure by Default». Desactívala para este proyecto: IAM & Admin → Organization Policies, busca Disable service account key creation, elige Manage policy, selecciona «Override parent's policy», pon Enforcement: Off limitado a este proyecto y guarda. Espera un par de minutos y prueba la clave de nuevo. Necesitas el rol Organization Policy Administrator, que un propietario de la organización tiene o puede concederte.
Google Play, parte 2: concede el acceso en la Play Console
Este es el paso que le cuesta horas a la gente, así que léelo con calma. El acceso a tu app se concede únicamente en Google Play Console (play.google.com/console), nunca en Google Cloud IAM. Hay dos lugares que revisar:
- Setup → API access: asegúrate de que el proyecto de Google Cloud que contiene tu service account esté vinculado aquí. Sin ese vínculo, la clave puede autenticarse pero recibe un 403 en cada app.
- Users and permissions (al final de la columna izquierda, a nivel de cuenta): elige Invite new users, pega el correo de la service account (el que termina en
.iam.gserviceaccount.com), y luego, en App permissions, añade tu app y concede al menos Manage store presence. Ese único permiso de app basta para publicar el texto de la ficha y las capturas de pantalla; no necesitas el rol Admin a nivel de cuenta.
Tu app ya debe existir en la Play Console. La API de la ficha edita un paquete existente, no crea una app nueva, y todavía no hace falta subir ningún APK ni AAB. Asegúrate de que el nombre de paquete que introduces en Mokbi coincide exactamente con la app.
El problema número uno: Cloud IAM no es la Play Console
Si te sigue apareciendo PERMISSION_DENIED, casi siempre es por esto. Google Cloud IAM (la página IAM & Admin → IAM en la Cloud Console, donde asignas «roles» a la service account) controla el acceso a los recursos de Google Cloud. No sirve de nada para el acceso a la ficha de tu app en la tienda. Asignar roles ahí nunca solucionará un error de permisos de la tienda.
El acceso de la app vive por completo en la Play Console, en los dos lugares anteriores: el vínculo de API access y la invitación de Users and permissions. Configura eso, y la misma clave que devolvía 403 empieza a funcionar.
Apple: crea una clave de API de App Store Connect
Esto ocurre en App Store Connect (appstoreconnect.apple.com). Mokbi te pide tres cosas: el contenido del .p8, el Key ID y el Issuer ID.
- Ve a Users and Access → Integrations → App Store Connect API. Esta sección solo la ve el Account Holder de tu equipo o un Admin. Si te lo pide, permite las claves de equipo.
- Haz clic en Generate API Key, ponle un nombre (por ejemplo «Mokbi Publisher») y asígnale el rol App Manager.
- Descarga el archivo .p8. Solo puedes descargarlo una vez, así que guárdalo en un lugar seguro. Anota el Key ID que aparece junto a la clave, y el Issuer ID, el UUID en la parte superior de la página Keys.
Igual que con Google, la app ya debe existir en App Store Connect. La API edita una ficha existente y no hace falta subir ningún build. Al publicar con Mokbi se prepara la versión por ti y se detiene antes del envío a revisión, así que pulsas Submit tú mismo en App Store Connect cuando estés listo.
Conéctalo en Mokbi
Abre un proyecto, ve al paso Publicar, y usa los botones de conexión:
- Conectar Google Play: pega el JSON completo de la service account y luego Verificar y conectar. Introduce tu nombre de paquete y ejecuta Probar conexión antes de publicar.
- Conectar App Store Connect: abre el archivo
.p8en un editor de texto y pega su contenido, añade el Key ID y el Issuer ID, y luego Verificar y conectar.
Cada clave se verifica con la tienda antes de guardar nada, se guarda cifrada en nuestra bóveda, y es eliminable en cualquier momento con Desconectar.
Problemas comunes y cómo solucionarlos
«Service account key creation is disabled.» Una política de organización está bloqueando las claves JSON. Desactiva iam.disableServiceAccountKeyCreation para el proyecto (ver Google Play, parte 1), espera dos minutos y vuelve a intentarlo.
PERMISSION_DENIED o 403 en cada app. El acceso no está configurado en la Play Console. Confirma que el proyecto de Cloud está vinculado en Setup → API access, y que el correo de la service account está invitado en Users and permissions con Manage store presence en tu app. Los roles en Cloud IAM no cuentan.
Sigue fallando justo después de conceder el acceso. Los cambios de permisos tardan unos minutos en propagarse. Vuelve a guardar el permiso en la Play Console (ábrelo y guarda de nuevo) o espera un poco, y ejecuta Probar conexión otra vez. Como prueba rápida de aislamiento, conceder temporalmente el rol Admin a nivel de cuenta a la service account debería hacer que la prueba pase; si es así, el fallo anterior era un problema de alcance de la app o de vínculo del proyecto.
App equivocada, o no pasa nada. El nombre de paquete en Mokbi debe coincidir exactamente con la app de la Play Console, y la app ya debe existir en ambas consolas. La API de la ficha edita una app existente, nunca crea una.
Perdiste tu archivo .p8. Apple solo te deja descargarlo una vez. Si se perdió, revoca esa clave en App Store Connect y genera una nueva, luego reconéctala en Mokbi.