App Store와 Google Play 계정을 연결하세요.
필요한 것
Mokbi는 스토어 비밀번호를 절대 보지 않아요. 대신 각 스토어용으로 범위가 제한된 키를 만들어서 한 번만 붙여넣으면 돼요. 그 키는 스토어에서 검증되고 암호화되어 저장되며, 언제든 연결을 해제할 수 있어요.
- Google Play: Google Play Android Developer API가 활성화된 프로젝트에서 JSON 파일로 다운로드한 Google Cloud service account 키, 그리고 그 service account를 Play Console에 초대한 상태.
- App Store Connect:
.p8파일로 다운로드한 API 키, 그리고 그 Key ID와 팀의 Issuer ID.
스토어당 이 작업은 한 번만 하면 돼요. 그 후에는 게시와 재게시가 클릭 한 번으로 끝나요. Google Play 쪽부터 먼저 진행하세요. 단계가 더 많거든요.
Google Play 1단계: service account 키 만들기
이 작업은 Google Cloud Console(console.cloud.google.com)에서 진행해요.
- 프로젝트를 새로 만들거나 선택하세요. 예: "Mokbi Publisher".
- APIs & Services → Library로 이동해 Google Play Android Developer API를 검색하고 Enable을 클릭하세요.
- APIs & Services → Credentials → Create credentials → Service account로 이동하세요.
mokbi-play-publisher처럼 이름을 지어주세요. 프로젝트 역할은 비워둬도 돼요. 실제 권한은 2단계에서 Play Console을 통해 부여해요. - service account를 열어 Keys 탭으로 이동한 다음 Add key → Create new key → JSON을 선택해 파일을 다운로드하세요. 이 JSON 파일이 Mokbi에 붙여넣을 내용이에요. 파일 안의
client_email(.iam.gserviceaccount.com으로 끝나요)이 다음 단계에서 초대할 주소이니 잘 보관해두세요.
"Service account key creation is disabled"라는 메시지가 뜨나요? 이는 iam.disableServiceAccountKeyCreation이라는 Google 조직 정책 때문이며, "Secure by Default" 아래에서 기본적으로 켜져 있어요. 이 프로젝트에서 끄려면: IAM & Admin → Organization Policies로 이동해 Disable service account key creation을 찾고, Manage policy를 선택한 다음 "Override parent's policy"를 선택하고, Enforcement: Off를 이 프로젝트 범위로 설정한 뒤 저장하세요. 몇 분 기다렸다가 키 생성을 다시 시도하세요. 이 작업에는 Organization Policy Administrator 역할이 필요하며, 조직 소유자가 이 역할을 갖고 있거나 부여할 수 있어요.
Google Play 2단계: Play Console에서 권한 부여하기
이 단계에서 많은 사람이 몇 시간을 허비하니 꼼꼼히 읽어주세요. 앱에 대한 접근 권한은 오직 Google Play Console(play.google.com/console)에서만 부여할 수 있고, Google Cloud IAM에서는 절대 부여할 수 없어요. 확인할 곳은 두 군데예요:
- Setup → API access: service account가 속한 Google Cloud 프로젝트가 여기에 연결되어 있는지 확인하세요. 연결되어 있지 않으면 키는 인증은 되지만 모든 앱에서 403이 발생해요.
- Users and permissions(왼쪽 열 맨 아래, 계정 수준): Invite new users를 선택하고 service account 이메일(
.iam.gserviceaccount.com으로 끝나는 것)을 붙여넣은 다음, App permissions에서 앱을 추가하고 최소 Manage store presence 권한을 부여하세요. 이 앱 권한 하나만으로 등록정보 텍스트와 스크린샷을 게시하기에 충분하며, 계정 수준의 Admin 권한은 필요 없어요.
앱은 Play Console에 이미 존재해야 해요. 등록정보 API는 기존 패키지를 수정할 뿐 새 앱을 만들지 않으며, 아직 APK나 AAB를 업로드할 필요도 없어요. Mokbi에 입력하는 패키지 이름이 앱과 정확히 일치하는지 확인하세요.
가장 흔한 함정: Cloud IAM은 Play Console이 아니에요
계속 PERMISSION_DENIED가 뜬다면 거의 항상 이 때문이에요. Google Cloud IAM(Cloud Console의 IAM & Admin → IAM 페이지, service account에 "역할"을 할당하는 곳)은 Google Cloud 리소스에 대한 접근을 제어할 뿐, 앱의 스토어 등록정보 접근에는 아무 영향도 없어요. 거기서 역할을 할당해도 스토어 권한 오류는 절대 해결되지 않아요.
앱 접근 권한은 전적으로 Play Console 안에, 위에서 설명한 두 곳에 있어요: API access 연결과 Users and permissions 초대예요. 그 두 가지를 설정하면 403을 반환하던 바로 그 키가 작동하기 시작해요.
Apple: App Store Connect API 키 만들기
이 작업은 App Store Connect(appstoreconnect.apple.com)에서 진행해요. Mokbi는 세 가지를 요청해요: .p8 파일 내용, Key ID, Issuer ID예요.
- Users and Access → Integrations → App Store Connect API로 이동하세요. 이 섹션은 팀의 Account Holder나 Admin에게만 보여요. 팀 키 사용 여부를 물으면 허용하세요.
- Generate API Key를 클릭하고 이름을 붙인 다음(예: "Mokbi Publisher"), App Manager 역할을 부여하세요.
- .p8 파일을 다운로드하세요. 단 한 번만 다운로드할 수 있으니 안전한 곳에 보관하세요. 키 옆에 표시되는 Key ID와, Keys 페이지 상단의 UUID인 Issuer ID를 기록해두세요.
Google과 마찬가지로 앱은 App Store Connect에 이미 존재해야 해요. 이 API는 기존 등록정보를 수정할 뿐 빌드를 업로드할 필요는 없어요. Mokbi로 게시하면 버전을 제출 직전 상태로 올려두고 멈추니, 원할 때 App Store Connect에서 직접 Submit을 누르면 돼요.
Mokbi에서 연결하기
프로젝트를 열고 게시 단계로 이동해 연결 버튼을 사용하세요:
- Google Play 연결: service account JSON 전체를 붙여넣고 확인 및 연결를 누르세요. 패키지 이름을 입력하고 게시하기 전에 연결 테스트을 실행하세요.
- App Store Connect 연결: 텍스트 편집기에서
.p8파일을 열어 내용을 붙여넣고 Key ID와 Issuer ID를 추가한 다음 확인 및 연결를 누르세요.
각 키는 저장되기 전에 스토어에서 검증되고, 저희 볼트에 암호화되어 저장되며, 언제든 연결 해제로 제거할 수 있어요.
흔한 문제와 해결 방법
"Service account key creation is disabled." 조직 정책이 JSON 키 생성을 막고 있어요. 해당 프로젝트에서 iam.disableServiceAccountKeyCreation을 끄고(Google Play 1단계 참고) 2분 기다린 다음 다시 시도하세요.
모든 앱에서 PERMISSION_DENIED 또는 403이 발생해요. Play Console에 권한이 설정되어 있지 않은 거예요. Setup → API access에서 Cloud 프로젝트가 연결되어 있는지, 그리고 Users and permissions에서 service account 이메일이 초대되어 앱에 Manage store presence 권한이 있는지 확인하세요. Cloud IAM의 역할은 여기에 영향을 주지 않아요.
권한을 부여한 직후에도 계속 실패해요. 권한 변경이 반영되기까지 몇 분 걸려요. Play Console에서 권한을 다시 저장하거나(열어서 다시 저장) 잠시 기다린 다음 연결 테스트을 한 번 더 실행하세요. 빠르게 원인을 좁히는 방법으로, service account에 임시로 계정 수준 Admin을 부여했을 때 테스트가 통과한다면 이전 실패는 앱 범위 또는 프로젝트 연결 문제였던 거예요.
잘못된 앱이거나 아무 일도 일어나지 않아요. Mokbi의 패키지 이름이 Play Console의 앱과 정확히 일치해야 하고, 앱이 두 콘솔 모두에 이미 존재해야 해요. 등록정보 API는 기존 앱을 수정할 뿐 새로 만들지 않아요.
.p8 파일을 잃어버렸어요. Apple은 단 한 번만 다운로드를 허용해요. 파일이 없어졌다면 App Store Connect에서 해당 키를 취소하고 새로 만든 다음 Mokbi에서 다시 연결하세요.