몇 번의 회의와 모임 끝에 QA까지 끝냈다.
모든 준비는 끝났다. 드디어 우리가 피 땀 흘려 만든 앱을 시장에 배포할 차례다. 여러 시련을 통과하고 배포 단계까지 왔지만 산 넘어 산이랄까.. 구글, 애플 형님들이 요구하는 필수로 준수해야 할 가이드와 프로세스가 있다. 이를 준수하지 않으면 배포가 힘들어질 수 있다. 특히 우리 팀은 Flutter로 개발했기 때문에 플레이스토어, 앱스토어 둘 다 출시를 목표로 두고 있었다. 이번 글에선 배포 후기를 공유하겠다.
Android 플레이스토어 배포
준비물은 다음과 같다.
플레이스토어 개발자 계정
앱 이름 (최대 30자)
간단 설명 (최대 80자)
자세한 설명 (최대 4000자)
5.5인치 스토어 업로드 이미지 (가로세로 비율 16:9 또는 9:16, 가로세로 길이는 320px X 3840px 사이)
앱 아이콘 이미지 (앱 아이콘은 PNG 또는 JPEG, 최대 1MB, 512 x 512px)
그래픽 이미지 (그래픽 이미지는 PNG 또는 JPEG, 최대 15MB, 1024px X 500px)
1. 플레이스토어 콘솔 접속하기
먼저 구글 개발자 계정으로 로그인 한 뒤, 플레이스토어 콘솔에 접속한다. 그다음 우측 상단에 앱 만들기 버튼을 클릭한다.
비사이드에서 구글 개발자 계정을 제공해 줬다.
2. 앱 세부정보, 플레이스토어 약관 동의
아래 입력값을 앱 상태에 맞춰 전부 기입한 다음, 하단에 잘려서 안 보이는 앱 만들기 버튼을 클릭한다. 이제 빈 껍데기 앱이 만들어졌다. 이 안에 우리가 만든 내용물을 포함해서 구글이 요구하는 모든 정책성 정보를 채워 넣어야 한다.
3. 앱 설정 하위 리스트 채워 넣기
대시보드 메뉴에 들어간 뒤 앱 설정 메뉴를 보면 우리가 채워 넣어야 할 리스트가 있다. 일례로 개인정보처리방침 메뉴에 들어가면 아래 사진처럼 관련 URL을 첨부하는 화면이 나온다. 이런 식으로 드래곤볼 모으듯 하나도 빠짐없이 채워 넣으면 된다.
앱 설정의 하위 리스트를 채워 넣어야 앱 출시가 가능하다. 개인정보 처리방침 하위 메뉴
4. 기본 등록 정보 첨부하기
3번 단계 마무리 한 뒤 스토어 등록정보 설정 메뉴에 들어간다. 이 단계에서 기획자와 디자이너의 도움이 필요한 순간이 찾아온다.
두 번째로 중요한 단계 스토어 등록정보 설정 클릭 시 등록정보 애셋, 그래픽 첨부 화면이 나오는데, 이때 기획자와 디자이너가 제작해 준 애셋을 첨부하면 된다.
5. 앱(APK) 등록하기
(이미 출시가 된 상황에서 해당 화면을 다시 보기 힘들더군요 ㅠㅠ 너른 양해 바랍니다)
대시보드 > 앱 출시 화면으로 들어가 Google Play에 앱 게시 메뉴에 접근한다. 국가 및 지역 설정 후 앱 게시 화면에 APK 파일 첨부 칸이 있는데, QA 단계를 마친 하루냥 APK 앱을 업로드했다. 버전 정보를 작성 후 프로덕션 트랙으로 출시 버튼을 누르면 앱 상태가 검토 중 상태로 바뀐 게 확인된다면 배포가 완료된 것이다!
6. 출시되길 기도하기
보통 미국 워킹타임 기준 1주일 안에 심사 결과가 나온다고 알려져 있다. 구글은 웬만해서 배포 거절을 하지 않지만 간혹 가다가 거절하는 경우가 있다. 1.0 버전 런칭할 땐 거절당하지 않고 3일 정도 후에 승인됐는데 하루냥 2.0.1 버전을 런칭할 때 생일 정보 수집하는 UI를 좀 더 선택 정보처럼 보여달라는 가이드라인을 받았다(이럴 거면 왜 1.0 때 잡지 않고 2.0.1 때 뭐라고 하는 거야).
??: 제발 거절하지 말아 주세요
iOS 앱스토어와 크게 다른 점
전반적으로 앱스토어 배포 방법과 플레이스토어 배포 프로세스는 비슷하다. 그러나 몇 가지 큰 차이점이 있다.
1. 플레이스토어 배포에서 추가되는 준비물 - 다른 비율의 스토어 이미지
6.5인치 스토어 업로드 이미지 (가로세로 비율 16:9 또는 9:16, 가로세로 길이는 320px X 3840px 사이)
없으면 스토어 심사 거절당한다.
앱스토어는 개인정보를 중요시하는 애플에서 운영하는 스토어인 만큼 개인정보에 있어서 까칠할 정도로 민감하다. 애플이 볼 때 안전하지 않다고 생각되는 앱들은 가차 없이 거절한다. 안전성, 성과, 비즈니스, 디자인, 법적요구사항 등을 작성한 애플 가이드라인이 있는데 꼭 정독하길 바란다.
2. 거절에 대처하기 & 더 절실하게 기도하기
앱스토어 역시 심사 기간이 1주일 정도 된다고 하지만 구글보다 가이드가 깐깐하기 때문에 거절을 많이 하는 경우엔 심사 기간이 체감상 2주일도 넘는 경우가 있다고 한다. 하루냥 1.0 버전 역시 애플의 거절을 피하지 못했다. 그 이유는 가입 직후 사용자 생일정보를 입력받는 프로세스에서 생일 정보를 선택정보가 아닌 필수정보처럼 UI를 디자인했다고 애플이 판단했기 때문이었다. 결국 사용자 생일정보 인풋 필드 하단에 선택정보라는 느낌을 주는 캡션을 추가해서 재배포 심사를 요청했고 무사히 배포할 수 있었지만 시간이 3일~4일 정도 추가로 소모되어 버렸다.
스토어 심사 거절 후, 인풋 필드 하단에 '필수 정보가 아니라 다음에 작성해도 좋아요!'라는 캡션을 추가했다.
하루냥 앱을 세상에 낸 뒤..
호랑이는 죽어서 가죽을 남기듯이 "많은 사람들로부터 사랑받는 앱을 내가 직접 만들어 세상에 남기고 싶다."라는 인생 버킷리스트를 언젠가 이루고 싶었고, 하루냥을 개발하면서 이를 실현했다.
재직 중인 SI 회사에서는 내 오너십이 가득 들어간 프로젝트를 하기 힘들기 때문에 항상 아쉬웠다. 열심히 임한 프로젝트가 끝나도 Man-Month 계약 때문에 운영&고도화하지 않고 떠나보내니 슬픔도 느끼고 제대로 마무리 짓지 않은 채 떠나가는 느낌도 들어 내가 무책임하다는 생각이 스쳐가기도 했다. 이를 해소하고 싶어서 작년 10월부터 퇴근 후 사이드프로젝트를 시작했다.
비사이드라는 플랫폼을 통해 세상에 둘도 없으며 나와 과분할 정도로 잘 맞고 좋은 팀원들을 만났다. PM을 맡아 프로젝트를 리딩하는 과정에서 미숙함과 힘듦이 많았지만 팀원들의 강력한 오너십과 책임감을 보면서 반드시 런칭하고 고도화시켜서 내 한을 풀어야겠다고 다짐했다. 하루냥을 구축하며 여러 우여곡절이 있었다. 팀원의 잦은 교체, 온라인 작업, 배포 전 docker 설정 문제, 느닷없이 db table이 지워져 버리는 이슈가 있었고 약속한 14주를 훨씬 넘겨버리게 되었다. 자칫 팀이 해체될 수도 있었지만 팀원 모두가 멘탈을 부여잡고 책임감 있게 임해준 덕분에 모두가 행복해지는 방향으로 결실을 맺게 되었다.
"중요한 것은 꺾이지 않는 마음"이라는 말을 인생 좌우명으로 삼을 정도로 좋아한다. 포기하고 싶을 때 초심을 돌아보며 마음을 다잡으면 언젠가는 목표를 이룬다는 것을 이번에도 경험했다. 이를 이루게 도와준 하루냥 팀원분들께 감사의 말을 전하고 싶다.
앞으로 하루냥이라는 앱을 많은 사람들로부터 사랑받는 서비스로 키워나가고 싶다. 그때까지의 시간은 조금 느릴 수 있다. 하지만 포기하지 않을 것이며 지금까지 힘든 상황들을 이겨내 왔듯, 보란 듯이 이겨낼 것이다.
구축이 다가 아니다. 진정한 게임은 지금부터다.
하루냥 앱 다운로드 링크