Panduan

Hubungkan akun App Store dan Google Play kamu.

TL;DR. Supaya Mokbi bisa publish untukmu, kamu menghubungkan dua hal sekali saja: service account key Google Cloud (file JSON) untuk Google Play, dan API key App Store Connect (file .p8 plus Key ID dan Issuer ID) untuk Apple. Bagian key-nya justru yang gampang. Langkah yang paling sering menjegal hampir semua orang adalah memberi akses di tempat yang tepat, karena Google Cloud IAM dan Play Console adalah dua sistem izin yang terpisah. Panduan ini membahas kedua setup itu dari awal sampai akhir dan mencantumkan perbaikan pasti untuk error yang umum terjadi.

Yang kamu butuhkan

Mokbi tidak pernah melihat kata sandi store kamu. Kamu cukup membuat key dengan akses terbatas untuk tiap store lalu menempelkannya sekali. Key itu diverifikasi ke store, disimpan terenkripsi, dan bisa kamu putuskan (Putuskan koneksi) kapan saja.

  • Google Play: sebuah service account key Google Cloud, diunduh sebagai file JSON, dari proyek yang sudah mengaktifkan Google Play Android Developer API, ditambah service account itu yang sudah diundang ke Play Console kamu.
  • App Store Connect: sebuah API key, diunduh sebagai file .p8, ditambah Key ID-nya dan Issuer ID tim kamu.

Ini semua cuma kamu lakukan sekali per store. Setelah itu, publish dan publish ulang tinggal satu klik. Kerjakan Google dulu — bagiannya lebih banyak.

Google Play, bagian 1: buat service account key

Ini dilakukan di Google Cloud Console (console.cloud.google.com).

  1. Buat atau pilih sebuah proyek, misalnya "Mokbi Publisher".
  2. Buka APIs & Services → Library, cari Google Play Android Developer API, lalu klik Enable.
  3. Buka APIs & Services → Credentials → Create credentials → Service account. Beri nama seperti mokbi-play-publisher. Kamu bisa membiarkan project roles kosong, izin sesungguhnya datang dari Play Console di bagian 2.
  4. Buka service account tadi, masuk ke tab Keys, lalu Add key → Create new key → JSON, dan unduh filenya. JSON itulah yang kamu tempelkan ke Mokbi. client_email di dalamnya (berakhiran .iam.gserviceaccount.com) adalah alamat yang kamu undang di langkah berikutnya, jadi simpan baik-baik.

Muncul "Service account key creation is disabled"? Itu kebijakan organisasi Google bernama iam.disableServiceAccountKeyCreation, yang aktif secara default di bawah "Secure by Default". Matikan untuk proyek ini: IAM & Admin → Organization Policies, cari Disable service account key creation, pilih Manage policy, pilih "Override parent's policy", atur Enforcement: Off khusus untuk proyek ini, lalu Save. Tunggu beberapa menit dan coba key itu lagi. Kamu butuh role Organization Policy Administrator, yang dimiliki (atau bisa diberikan oleh) pemilik organisasi.

Google Play, bagian 2: beri akses di Play Console

Ini langkah yang paling banyak menyita waktu orang, jadi baca baik-baik. Akses ke aplikasi kamu hanya diberikan di Google Play Console (play.google.com/console), tidak pernah di Google Cloud IAM. Ada dua tempat yang perlu dicek:

  1. Setup → API access: pastikan proyek Google Cloud yang menyimpan service account kamu sudah linked di sini. Tanpa link ini, key bisa melakukan autentikasi tapi mendapat 403 di setiap aplikasi.
  2. Users and permissions (di bagian bawah kolom kiri, di level akun): pilih Invite new users, tempelkan email service account (yang berakhiran .iam.gserviceaccount.com), lalu di bawah App permissions tambahkan aplikasi kamu dan berikan minimal Manage store presence. Satu izin aplikasi itu saja sudah cukup untuk publish teks listing dan tangkapan layar, kamu tidak butuh Admin di level akun.

Aplikasi kamu harus sudah ada di Play Console. Listing API ini mengedit paket yang sudah ada, bukan membuat aplikasi baru, dan belum perlu APK atau AAB yang diunggah. Pastikan nama paket yang kamu masukkan di Mokbi sama persis dengan aplikasinya.

Jebakan nomor satu: Cloud IAM bukan Play Console

Kalau kamu terus mendapat PERMISSION_DENIED, hampir selalu ini penyebabnya. Google Cloud IAM (halaman IAM & Admin → IAM di Cloud Console, tempat kamu memberi "roles" ke service account) mengatur akses ke resource Google Cloud. Ini tidak berpengaruh sama sekali ke akses listing store aplikasi kamu. Memberi roles di sana tidak akan pernah memperbaiki error izin store.

Akses aplikasi sepenuhnya ada di Play Console, di dua tempat di atas: link API access dan undangan Users and permissions. Atur itu, dan key yang tadinya kena 403 mulai berfungsi.

Apple: buat App Store Connect API key

Ini dilakukan di App Store Connect (appstoreconnect.apple.com). Mokbi meminta tiga hal: isi file .p8, Key ID, dan Issuer ID.

  1. Buka Users and Access → Integrations → App Store Connect API. Bagian ini cuma terlihat untuk Account Holder tim kamu atau seorang Admin. Kalau diminta, izinkan team keys.
  2. Klik Generate API Key, beri nama (misalnya "Mokbi Publisher"), lalu berikan role App Manager.
  3. Unduh file .p8. Kamu hanya bisa mengunduhnya sekali, jadi simpan di tempat yang aman. Catat Key ID yang tampil di sebelah key-nya, dan Issuer ID, yaitu UUID di bagian atas halaman Keys.

Sama seperti Google, aplikasinya harus sudah ada di App Store Connect. API ini mengedit listing yang sudah ada dan tidak perlu ada build yang diunggah. Publish lewat Mokbi menyiapkan versinya untukmu dan berhenti sebelum pengiriman untuk review, jadi kamu sendiri yang menekan Submit di App Store Connect saat sudah siap.

Hubungkan di Mokbi

Buka sebuah proyek, masuk ke langkah Terbitkan, lalu gunakan tombol untuk menghubungkan:

  • Hubungkan Google Play: tempelkan JSON service account lengkap, lalu klik Verifikasi & hubungkan. Masukkan nama paket kamu dan jalankan Uji koneksi sebelum publish.
  • Hubungkan App Store Connect: buka file .p8 di text editor, tempelkan isinya, tambahkan Key ID dan Issuer ID, lalu klik Verifikasi & hubungkan.

Setiap key diverifikasi ke store sebelum apa pun disimpan, lalu disimpan terenkripsi di brankas kami, dan bisa dihapus kapan saja dengan Putuskan koneksi.

Masalah umum dan cara mengatasinya

"Service account key creation is disabled." Ada org policy yang memblokir JSON key. Matikan iam.disableServiceAccountKeyCreation untuk proyek itu (lihat Google Play bagian 1), tunggu dua menit, lalu coba lagi.

PERMISSION_DENIED atau 403 di setiap aplikasi. Akses belum diatur di Play Console. Pastikan proyek Cloud sudah linked di bawah Setup → API access, dan email service account sudah diundang di bawah Users and permissions dengan Manage store presence pada aplikasi kamu. Roles di Cloud IAM tidak dihitung.

Masih gagal padahal baru saja memberi akses. Perubahan izin butuh beberapa menit untuk merambat. Simpan ulang izin itu di Play Console (buka lagi dan simpan ulang) atau tunggu sebentar, lalu jalankan Uji koneksi sekali lagi. Sebagai tes cepat untuk mengisolasi masalah, memberi service account role Admin di level akun sementara waktu seharusnya membuat dry run berhasil — kalau berhasil, berarti kegagalan sebelumnya soal app-scope atau project-link.

Salah aplikasi, atau tidak ada yang terjadi. Nama paket di Mokbi harus sama persis dengan aplikasi di Play Console, dan aplikasinya harus sudah ada di kedua console. Listing API ini mengedit aplikasi yang sudah ada, tidak pernah membuat yang baru.

File .p8 kamu hilang. Apple cuma mengizinkanmu mengunduhnya sekali. Kalau sudah hilang, cabut key itu di App Store Connect dan buat yang baru, lalu hubungkan lagi di Mokbi.

Hubungkan store kamu → Lihat cara kerja publish