Koppel je App Store- en Google Play-accounts.
Wat je nodig hebt
Mokbi ziet nooit je store-wachtwoord. In plaats daarvan maak je per store een sleutel aan met beperkte rechten en plak je die eenmalig in. Hij wordt geverifieerd bij de store, versleuteld opgeslagen, en je kunt hem op elk moment loskoppelen.
- Google Play: een service account-sleutel van Google Cloud, gedownload als JSON-bestand, uit een project waarin de Google Play Android Developer API is ingeschakeld, plus dat service account uitgenodigd in je Play Console.
- App Store Connect: een API-sleutel, gedownload als
.p8-bestand, plus de bijbehorende Key ID en de Issuer ID van je team.
Dit doe je maar één keer per store. Daarna is publiceren en opnieuw publiceren een kwestie van één klik. Doe Google eerst, dat heeft de meeste bewegende onderdelen.
Google Play, deel 1: de service account-sleutel aanmaken
Dit doe je in de Google Cloud Console (console.cloud.google.com).
- Maak een project aan of kies er een, bijvoorbeeld "Mokbi Publisher".
- Ga naar APIs & Services → Library, zoek naar Google Play Android Developer API, en klik op Enable.
- Ga naar APIs & Services → Credentials → Create credentials → Service account. Geef het een naam zoals
mokbi-play-publisher. Je kunt de projectrollen leeg laten, de echte rechten komen in deel 2 uit de Play Console. - Open het service account, ga naar het tabblad Keys, dan Add key → Create new key → JSON, en download het bestand. Dat JSON-bestand is wat je in Mokbi plakt. De
client_emailerin (die eindigt op.iam.gserviceaccount.com) is het adres dat je in de volgende stap uitnodigt, dus hou 'm bij de hand.
Krijg je "Service account key creation is disabled" te zien? Dat is een Google-organisatiebeleid genaamd iam.disableServiceAccountKeyCreation, standaard aan onder "Secure by Default". Zet het uit voor dit project: IAM & Admin → Organization Policies, zoek Disable service account key creation, kies Manage policy, selecteer "Override parent's policy", zet Enforcement: Off voor dit project, en klik op Save. Wacht een paar minuten en probeer de sleutel opnieuw. Je hebt de rol Organization Policy Administrator nodig, die een organisatie-eigenaar heeft of kan toekennen.
Google Play, deel 2: toegang verlenen in de Play Console
Dit is de stap die mensen uren kost, dus lees hem goed. Toegang tot je app wordt uitsluitend verleend in de Google Play Console (play.google.com/console), nooit in Google Cloud IAM. Er zijn twee plekken om te checken:
- Setup → API access: zorg dat het Google Cloud-project waarin je service account staat, hier gekoppeld is. Zonder die koppeling kan de sleutel wel authenticeren, maar krijgt hij op elke app een 403.
- Users and permissions (onderaan de linkerkolom, op accountniveau): kies Invite new users, plak het e-mailadres van het service account (dat op
.iam.gserviceaccount.com), en voeg dan onder App permissions je app toe en verleen minimaal Manage store presence. Die ene app-permissie is genoeg om vermeldingstekst en screenshots te publiceren, je hebt geen Admin op accountniveau nodig.
Je app moet al bestaan in de Play Console. De API voor de vermelding bewerkt een bestaand pakket, hij maakt geen nieuwe app aan, en er hoeft nog geen APK of AAB geüpload te zijn. Zorg dat de pakketnaam die je in Mokbi invoert exact overeenkomt met de app.
Valkuil nummer één: Cloud IAM is niet de Play Console
Blijf je PERMISSION_DENIED krijgen, dan is dit vrijwel altijd de oorzaak. Google Cloud IAM (de pagina IAM & Admin → IAM in de Cloud Console, waar je "rollen" toekent aan het service account) regelt toegang tot Google Cloud-resources. Het doet niets voor toegang tot de vermelding van je app in de store. Rollen daar toekennen lost een toegangsfout in de store nooit op.
Toegang tot je app zit volledig in de Play Console, op de twee plekken hierboven: de koppeling bij Setup → API access en de uitnodiging bij Users and permissions. Regel die twee, en dezelfde sleutel die eerst een 403 gaf, gaat werken.
Apple: een API-sleutel voor App Store Connect aanmaken
Dit doe je in App Store Connect (appstoreconnect.apple.com). Mokbi vraagt om drie dingen: de inhoud van het .p8-bestand, de Key ID, en de Issuer ID.
- Ga naar Users and Access → Integrations → App Store Connect API. Dit onderdeel is alleen zichtbaar voor de Account Holder van je team of een Admin. Word je erom gevraagd, sta dan teamsleutels toe.
- Klik op Generate API Key, geef een naam (bijvoorbeeld "Mokbi Publisher"), en geef het de rol App Manager.
- Download het .p8-bestand. Je kunt het maar één keer downloaden, bewaar het dus ergens veilig. Noteer de Key ID naast de sleutel, en de Issuer ID, de UUID bovenaan de Keys-pagina.
Net als bij Google moet de app al bestaan in App Store Connect. De API bewerkt een bestaande vermelding en er hoeft geen build geüpload te worden. Publiceren met Mokbi zet de versie voor je klaar en stopt vóór de indiening voor review, dus druk je zelf op Submit in App Store Connect zodra je zover bent.
Koppel het in Mokbi
Open een project, ga naar de stap Publiceren, en gebruik de koppelknoppen:
- Google Play verbinden: plak de volledige service account-JSON, en klik dan op Verifiëren & verbinden. Voer je pakketnaam in en draai Verbinding testen voordat je publiceert.
- App Store Connect verbinden: open het
.p8-bestand in een teksteditor en plak de inhoud, voeg de Key ID en Issuer ID toe, en klik dan op Verifiëren & verbinden.
Elke sleutel wordt geverifieerd bij de store voordat er iets wordt opgeslagen, versleuteld bewaard in de vault van Mokbi, en op elk moment te verwijderen met Ontkoppelen.
Veelvoorkomende problemen en hoe je ze oplost
"Service account key creation is disabled." Een organisatiebeleid blokkeert JSON-sleutels. Zet iam.disableServiceAccountKeyCreation uit voor het project (zie Google Play deel 1), wacht twee minuten, en probeer opnieuw.
PERMISSION_DENIED of 403 op elke app. De toegang staat niet goed in de Play Console. Controleer of het Cloud-project gekoppeld is onder Setup → API access, en of het e-mailadres van het service account is uitgenodigd onder Users and permissions met Manage store presence op je app. Rollen in Cloud IAM tellen niet mee.
Het blijft mislukken vlak nadat je toegang hebt verleend. Rechtenwijzigingen hebben een paar minuten nodig om door te dringen. Sla de rechten in de Play Console opnieuw op (open ze en sla nogmaals op) of wacht even, en draai daarna nog eens Verbinding testen. Als snelle isolatietest: geef het service account tijdelijk Admin op accountniveau — slaagt de dry run dan wel, dan zat de eerdere fout in de app-scope of de project-koppeling.
Verkeerde app, of er gebeurt niets. De pakketnaam in Mokbi moet exact overeenkomen met de app in de Play Console, en de app moet al bestaan in beide consoles. De API voor de vermelding bewerkt een bestaande app, hij maakt er nooit een aan.
Je .p8-bestand kwijt? Apple laat je het maar één keer downloaden. Is het weg, trek dan die sleutel in App Store Connect in en genereer een nieuwe, en koppel opnieuw in Mokbi.