Guide

Connecte tes comptes App Store et Google Play.

TL;DR. Pour laisser Mokbi publier à ta place, tu connectes deux choses une seule fois : une clé de service account Google Cloud (un fichier JSON) pour Google Play, et une clé API App Store Connect (un fichier .p8 plus un Key ID et un Issuer ID) pour Apple. Les clés, c'est la partie facile. L'étape qui piège presque tout le monde, c'est d'accorder l'accès au bon endroit, car Google Cloud IAM et la Play Console sont deux systèmes de permissions distincts. Ce guide détaille les deux configurations de A à Z et liste les corrections précises pour les erreurs courantes.

Ce dont tu as besoin

Mokbi ne voit jamais ton mot de passe de store. Tu crées à la place une clé à portée limitée pour chaque store et tu la colles une seule fois. Elle est vérifiée auprès du store avant d'être enregistrée, stockée chiffrée, et tu peux te déconnecter à tout moment.

  • Google Play : une service account key Google Cloud, téléchargée sous forme de fichier JSON, depuis un projet où l'API Google Play Android Developer est activée, plus ce service account invité dans ta Play Console.
  • App Store Connect : une clé API, téléchargée sous forme de fichier .p8, plus son Key ID et l'Issuer ID de ton équipe.

Tu ne fais ça qu'une fois par store. Ensuite, publier et republier tient en un clic. Commence par Google, il a plus de rouages.

Google Play, partie 1 : créer la clé de service account

Ça se passe dans la Google Cloud Console (console.cloud.google.com).

  1. Crée ou choisis un projet, par exemple « Mokbi Publisher ».
  2. Va dans APIs & Services → Library, cherche Google Play Android Developer API, et clique sur Enable.
  3. Va dans APIs & Services → Credentials → Create credentials → Service account. Donne-lui un nom comme mokbi-play-publisher. Tu peux laisser les rôles du projet vides, les vraies permissions viennent de la Play Console à la partie 2.
  4. Ouvre le service account, va dans l'onglet Keys, puis Add key → Create new key → JSON, et télécharge le fichier. C'est ce JSON que tu colles dans Mokbi. Le client_email qu'il contient (il se termine par .iam.gserviceaccount.com) est l'adresse que tu invites à l'étape suivante, garde-la sous la main.

Tu tombes sur « Service account key creation is disabled » ? C'est une politique d'organisation Google appelée iam.disableServiceAccountKeyCreation, activée par défaut sous « Secure by Default ». Désactive-la pour ce projet : IAM & Admin → Organization Policies, trouve Disable service account key creation, choisis Manage policy, sélectionne « Override parent's policy », mets Enforcement: Off pour ce projet, et Save. Attends deux minutes et réessaie la clé. Il te faut le rôle Organization Policy Administrator, qu'un propriétaire d'organisation a ou peut t'accorder.

Google Play, partie 2 : accorder l'accès dans la Play Console

C'est l'étape qui fait perdre des heures aux gens, alors lis-la attentivement. L'accès à ton app s'accorde uniquement dans la Google Play Console (play.google.com/console), jamais dans Google Cloud IAM. Il y a deux endroits à vérifier :

  1. Setup → API access : vérifie que le projet Google Cloud qui contient ton service account est bien lié ici. Sans ce lien, la clé peut s'authentifier mais reçoit un 403 sur chaque app.
  2. Users and permissions (en bas de la colonne de gauche, au niveau du compte) : choisis Invite new users, colle l'e-mail du service account (celui en .iam.gserviceaccount.com), puis dans App permissions ajoute ton app et accorde au moins Manage store presence. Cette seule permission au niveau de l'app suffit pour publier le texte boutique et les captures d'écran, tu n'as pas besoin du rôle Admin au niveau du compte.

Ton app doit déjà exister dans la Play Console. L'API de fiche modifie un package existant, elle n'en crée pas un nouveau, et aucun APK ni AAB n'a besoin d'être téléversé pour l'instant. Vérifie que le nom de package que tu entres dans Mokbi correspond exactement à l'app.

Le piège numéro un : Cloud IAM n'est pas la Play Console

Si tu obtiens sans arrêt PERMISSION_DENIED, c'est presque toujours la raison. Google Cloud IAM (la page IAM & Admin → IAM dans la Cloud Console, où tu assignes des « rôles » au service account) contrôle l'accès aux ressources Google Cloud. Ça ne sert à rien pour l'accès à la fiche store de ton app. Assigner des rôles là-bas ne corrigera jamais une erreur de permission côté store.

L'accès à l'app vit entièrement dans la Play Console, aux deux endroits ci-dessus : le lien API access et l'invitation Users and permissions. Configure-les, et la même clé qui renvoyait 403 se met à fonctionner.

Apple : créer une clé API App Store Connect

Ça se passe dans App Store Connect (appstoreconnect.apple.com). Mokbi demande trois choses : le contenu du .p8, le Key ID, et l'Issuer ID.

  1. Va dans Users and Access → Integrations → App Store Connect API. Cette section n'est visible que par l'Account Holder de ton équipe ou un Admin. Si on te le demande, autorise les clés d'équipe.
  2. Clique sur Generate API Key, donne-lui un nom (par exemple « Mokbi Publisher »), et attribue-lui le rôle App Manager.
  3. Télécharge le fichier .p8. Tu ne peux le télécharger qu'une seule fois, alors range-le en lieu sûr. Note le Key ID affiché à côté de la clé, et l'Issuer ID, l'UUID en haut de la page Keys.

Comme pour Google, l'app doit déjà exister dans App Store Connect. L'API modifie une fiche existante et aucun build n'a besoin d'être téléversé. Publier avec Mokbi prépare la version pour toi et s'arrête avant la soumission pour review, donc c'est toi qui appuies sur Submit dans App Store Connect quand tu es prêt.

Connecte-le dans Mokbi

Ouvre un projet, va à l'étape Publier, et utilise les boutons de connexion :

  • Connecter Google Play : colle le JSON complet du service account, puis Vérifier et connecter. Entre ton nom de package et lance Tester la connexion avant de publier.
  • Connecter App Store Connect : ouvre le fichier .p8 dans un éditeur de texte et colle son contenu, ajoute le Key ID et l'Issuer ID, puis Vérifier et connecter.

Chaque clé est vérifiée auprès du store avant d'être enregistrée, stockée chiffrée dans notre coffre ; tu peux te déconnecter à tout moment via Déconnecter.

Problèmes courants et comment les résoudre

« Service account key creation is disabled ». Une politique d'organisation bloque les clés JSON. Désactive iam.disableServiceAccountKeyCreation pour le projet (voir Google Play partie 1), attends deux minutes, et réessaie.

PERMISSION_DENIED ou 403 sur chaque app. L'accès n'est pas configuré dans la Play Console. Vérifie que le projet Cloud est lié sous Setup → API access, et que l'e-mail du service account est invité sous Users and permissions avec Manage store presence sur ton app. Les rôles dans Cloud IAM ne comptent pas.

Ça échoue encore juste après avoir accordé l'accès. Les changements de permission mettent quelques minutes à se propager. Réenregistre la permission dans la Play Console (ouvre-la et sauvegarde à nouveau) ou attends un peu, puis relance Tester la connexion une fois de plus. Pour isoler rapidement le problème, accorder temporairement le rôle Admin au niveau du compte au service account devrait faire réussir la simulation ; si c'est le cas, l'échec précédent venait d'un problème de portée d'app ou de lien de projet.

Mauvaise app, ou rien ne se passe. Le nom de package dans Mokbi doit correspondre exactement à l'app dans la Play Console, et l'app doit déjà exister dans les deux consoles. L'API de fiche modifie une app existante, elle n'en crée jamais.

Fichier .p8 perdu. Apple ne te laisse le télécharger qu'une seule fois. S'il a disparu, révoque cette clé dans App Store Connect et génère-en une nouvelle, puis reconnecte-toi dans Mokbi.

Connecter tes stores → Voir comment publier