Photo by Kelly Sikkema on Unsplash |
왜?
이번에는 토이 프로젝트로 안드로이드 앱을 만들어 보기로 마음 먹었다. 첫 경험이니, 욕심내지 말고 간단하게 만들어 보자. 마켓에 등록하고, 광고도 달아보자. 그렇게 한바퀴 돌면 보이는 세상은 전과 같지 않으리라.
안드로이드 개발 책을 읽었다.
처음 읽는 줄 알았는데, 생각해 보니 몇 년 전에도 관련 책을 읽었었다. 게다가 2006년인가 2007년 쯤엔 지도에 깃발 표시하는 걸 만들었던 기억이 났다. 그랬던 덕분인지 책은 쉽게 읽으며 넘어갔다. 개념만 잡자는 생각으로 코드는 대강 건너뛰며 술술 넘기기도 했다.
책 예제 실습해 보기
안드로이드 스튜디오를 설치하고, 책 예제 소스를 다운로드 받았다. 안드로이드 스튜디오에서 프로젝트 구조와 소스를 살펴봤는데, 자바 개발 경험 덕분인지 그다지 어려워 보이지는 않았다. 예제 소스가 에뮬레이터에서 돌아가는 것을 확인했고, 소스를 이리저리 수정하면서 어떤 변화가 생기는 지 테스트를 했다.
앱 설계
무엇을 만들까 고민하며 공공데이터포털(data.go.kr)에서 제공하는 데이터를 검색하기 시작했다. 처음에는 당연히 서비스 API를 이용하는 앱을 만들 생각이었는데, 이용에 아무런 제한이 없는 이미지도 제공하고 있는 것을 알게 되었다. 그래, 앱 개발을 경험해 보는 것이 목적이지. 힘 빼자. 빠른 성취를 목표로 하자. 단순하게 가자. 주제를 선택하면 관련된 이미지 페이지로 이동하고, 좌우로 이동하면서 이미지를 조회할 수 있게 만들면 되겠다. 어렵지 않을 거 같다. 오븐(ovenapp.io)에서 화면 이미지와 플로우를 간단하게 설계했다.
앱 개발
책 예제 소스가 코틀린(Kotlin)으로 되어 있어서 코틀린으로 개발을 시작했다. 화면을 구성하고, 간단한 테스트까지는 일사천리였다. 그런데 로직을 구현하기 시작하면서 삽질을 시작하는 기분이었다. 코틀린을 처음 쓰다 보니, 간단한 List 사용도 버벅거렸다. 코틀린으로 코드를 작성하기 위해 시간을 허비하다 보니, 주객이 전도된 느낌이다. 코틀린에 익숙해 지는 것은 다음으로 미루고, 자바로 다시 작성하기로 했다. 이 때부터 마음이 편해진 걸 보면, 자바가 모국어인 셈인가.
화면을 구성하면서 가장 많은 도움을 받은 건 개발자를 위한 레시피(recipe4dev.tistory.com) 블로그였다. 어느 분인지 정리를 참 잘하셨네.
테스트를 하면서는 에뮬레이터가 offline 상태가 되어서 연결이 안되는 현상이 종종 발생했다. 에뮬레이터를 비정상 종료하면 나타나는 현상이라고 하는데, 노트북이 절전 모드로 들어가도 그렇게 되는 것 같았다. 그냥 마음 편히 받아들이고 새로 만들기를 몇 번 반복했다.
개발이 마무리되면 플레이스토어에 배포할 aar 파일을 생성한다.
개발자 등록
앱을 배포하기 위해서는 먼저 개발자 등록을 해야 한다. 개발자 등록 비용은 25달러, 등록할 때 한 번만 내면 된다. 개인이나 사업자로 등록한 후에 추가로 개발자나 테스터를 등록할 수도 있는 것 같다.
앱 배포
배포 사이트에서 안내하는 대로 체크하고, 작성하는 과정을 진행한다. 중간에 개인정보처리방침을 게시한 URL을 등록하는 단계가 있는데, 이 부분에서 많이 헤맸다. 등록하려는 앱은 개인 정보를 요구하지도 이용하지도 않거니와, 아무런 권한도 필요 없는데 이걸 왜 작성해야 하지? 괜히 이런 거 작성했다가 골치아픈 일 생기는 것 아닐까? 그렇지만 아무런 개인정보를 이용하지 않으니 걱정할 필요는 없잖아. 그래, 문제 없겠지. 내가 아쉬우니 그냥 받아들이기로 하자. 마침 개인정보보호포털(https://www.privacy.go.kr/a3sc/per/inf/perInfStep01.do)에서 이 부분을 지원하고 있다. 간단히 만들고, 구글 사이트에 페이지를 추가하고, URL을 등록했다. 그리고 등록신청을 했는데, 3일이 지난 지금도 검토 중이다. 1주에서 2주까지도 걸린다고 한다.
광고 붙이기
광고를 붙이려고 검색해 보니, 앱을 출시한 후에 가능하다는 블로그 글이 있었다. 그 때는 그런가 보다 하고, 먼저 배포 신청을 진행했다. 나중에 알아보니 배포 전에도 ID를 발급 받을 수 있고, 테스트도 가능했다.
방법은 간단하다. Google AdMob에 가입하고, 앱을 추가한다. 그리고 광고형식을 결정하고, 가이드에 따라 소스에 추가하기만 하면 된다.
후기 #1: 난해한 구글의 안내문
개발자 가이드는 그렇다 쳐도, 앱을 등록할 때 나오는 안내문은 여러 번을 읽어도 정확한 의미를 파악할 수 없는 경우가 많았다. 읽을 수는 읽는데, 무슨 말인지 모르겠어서 다시 검색을 하게 되는 경우가 많았다. 구글 번역기의 부족함인지, 아니면 번역의 투박함인지 궁금하다.
후기 #2: 디자인은 기본이다.
스마트폰에서 실행되는 앱 화면을 보니 부끄럽다. 내가 만든 것이라 다운로드 받았지, 아니었다면 스치듯 지나쳤을 것 같다. 디자인이 원초적이니 완성된 제품 같지 않고, 호감이나 신뢰도 전혀 생기지 않는다.