안드로이드 유료 앱 개발을 시작하는 개발자들에게..
안드로이드 앱 개발자로 일하면서 약 5년 만에 유료 앱을 만들어 서비스하면서 느낀 점을 정리해볼까 합니다.
이미 유료 앱을 개발해보신 분들 중 충분히 손뼉 치며 공감 가는 부분도 있을 테고 전혀 다른 생각을 하실 수 있는 부분도 있을 거라 생각합니다. 꼭 이렇게 해야만 좋은 앱이 되는 것도 아니고 다운로드 수가 높아지는 것도 아닙니다. 이런 개발자가 이런 생각으로 가지며 앱을 만들었구나 정도로 가볍게 읽어 주셨으면 좋겠습니다.
폰의 설정을 상황에 따라 자동화해주는 기능을 가진 앱입니다. 특정 앱을 열거나 닫을 때 WiFi를 켜거나, 미디어 볼륨을 자동으로 제어할 수 있습니다. 또한 특정 WiFi이름을 가진 AP에 연결되면 정해진 설정을 수행할 수 있으며, 블루투스나 위치기반으로도 설정 가능합니다.
이런 종류의 앱은 IF, Tasker등 다양합니다. 하지만 모두 개발스러운 UI로 인해 일반사용자가 사용하지 못할 정도로 복잡합니다. 저는 여기에서 아이디어를 얻어 UI에 중점을 두어 직관적으로 사용하기 쉬운 앱을 만들어 보자는 생각으로 시작하게 되었습니다.
출시 후 2개월이 지난 시점에 이전에 이걸 알고 있었다면 좀 더 좋은 앱과 시간을 줄일 수 있었을 것 같은 부분에 대해 몇 가지 적어보겠습니다.
인앱을 추천하는 첫 번째 이유는 불법복제를 막을 수 있다는 점입니다. 구글 이제 제공하는 LVL(Google Play Licensing)는 절대로 Java환경에서 통하지 않습니다. 리버스 엔지니어링을 통해 유료 앱 검증 체크를 무시할 수 있으며 재 사이닝을 통해 불법 복제 앱을 만들어 낼 수 있습니다.
실제로 유료 앱 구입 후 APK를 추출하여 결제 취소하고 추출한 APK를 리버스 엔지니어링을 통해 사용하는 사용자가 많습니다. (구글에 메일도 보내봤지만 이런 문제점을 알고 있으며 LVL 쓰는 것보다 인앱 결제를 써라는 메일을 받았습니다.) 좀 더 심한 부분은 이런 과정을 자동화하여 자신들만의 마켓을 만들어 앱을 공유하고 있습니다.
유료 앱은 최소한 LVL를 적용하세요. 단, 출시 또는 업데이트 며칠 안돼서 LVL를 무시하는 복제 앱이 출시된다는 사실을 잊지 마세요. LVL를 쉽게 적용할 수 있는 라이브러리도 있습니다. LVL 및 인앱 결제를 쉽게 적용할 수 있습니다.
https://github.com/javiersantos/PiracyChecker
또 한 가지는 일부 기능을 사용자에게 맛보기로 사용해보게 하는 게 훨씬 좋습니다. 이 앱을 한번 써보게 하는 게 플레이스토어의 상세 항목을 정독하는 것보다 훨씬 좋습니다. 이미 알려진 앱이라면 상관없지만 초기 유료 앱이 동일한 카테고리에서 상위로 올라가기 힘듭니다.
"자동설정"앱은 국내 사용자가 20%밖에 되지 않습니다. 미국과 유럽 사용자들이 대부분입니다. Crowdin서비스를 이용하여 사용자들이게 번역에 참여기회를 제공하세요. 직접 번역할 필요도 없으며 정확도가 떨어지는 구글 번역기를 돌릴 필요도 없습니다. Crowdin를 통해 번역을 해주는 사용자들의 정보를 앱에 넣어준다면 훨씬 좋아하고 애착을 가지고 꾸준히 번역에 참여를 합니다. 돈을 주고 특정 언어로 번역해주는 번역 서비스는 절때 사용하지 마세요.
자동설정 앱은 22명의 사용자들이 9개국의 언어로 번역해주고 있습니다.
플레이 스토어에는 유료 앱을 무료로 다운로드할 수 있도록 코드를 발급하는 기능과 특정일 동안 할인을 할 수 있는 기능이 있습니다.
프로모션 코드 발급은 분기별 500개, 할인 기능을 월 1회로 제한적이나 잘 활용하면 앱 홍보에 도움이 됩니다.
프로모션 코드는 Play-Code 서비스를 이용한다면 사용자들이 좀 더 쉽게 프모코션 코드를 사용할 수 있으며, 사용 유무를 관리할 수 있습니다. 또한 공개적으로 코드를 발급한다면 많은 사용자들에게 앱이 홍보됩니다.
할인 기능은 월 1회로 제한되어 있지만 일시적으로 무료로 풀게 되면 앱 세일만 모아서 보여주는 앱이나 서비스 또는 커뮤니티에 노출되어 홍보됩니다. 이렇게 홍보되면 할인 이후 더 많은 다운로드가 기록됩니다.
유료 앱뿐만 아니라 무료 앱에도 베타 테스트 기능을 필수라고 생각합니다. 사용자들과의 피드백뿐만 아니라 혹시 모를 앱의 문제점을 사전에 차단해줍니다. 구글 플레이 스토어에서 제공되는 "사전 출시 보고서"를 사용하세요. 베타 커뮤티니도 만들어 사용자들의 의견을 듣고 앱의 방향을 잡아가면 큰 도움이 됩니다.
"자동설정 앱" Beta Tester
https://plus.google.com/communities/101238069656414686670
혼자 앱을 개발하니 디자인도 해야 되고, 플레이스토어 등록정보도 등록해야 되며 베타 테스트 관리도 해야 하며 홍보도 해야 합니다. 이런 일을 최대한 줄이기 위해 다양한 툴과 서비스를 적용했습니다. 위에 언급한 Crowndin도 마찬가지입니다.
플레이스토어 앱 상세 페이지에 들어갈 이미지를 쉽게 제작 할 있습니다.
앱 아이콘뿐만 아니라 앱에 사용될 모든 리소스를 만들 수 있습니다.
https://romannurik.github.io/AndroidAssetStudio
머트리얼 디자인 및 라이브러리를 이용하여 앱을 디자인할 수 있습니다. 디자이너 없이 머트리얼 가이드대로 앱 디자인을 해도 멋진 앱이 됩니다.
커뮤니티를 이용하여 앱을 홍보하세요. Reddit의 안드로이드 앱 커뮤니티가 가장 활발합니다. 유럽 사용자들이 많습니다.
https://www.reddit.com/r/googleplaydeals
https://www.reddit.com/r/androidapps
앱의 방향을 잡아가기 위해 통계보다 더 정확한 것은 없습니다. 어떤 기능을 좀 더 디벨롭해나갈지 의사결정하는데 정답을 내려 줍니다. (데이터보다 감으로 할때 더 좋은 결과도 있긴 합니다만... 로또 수준입니다.)
최근 구글에서 Firebase를 인수하여 통계 기능을 권장하고 있지만 Google Analytics를 추천합니다. Firebase에서 이벤트 수집 개수가 10개로 제한적(Spack사용자) 이기 때문에 데이터를 수집하여 비교하기에는 충분하지 않은 공간입니다. 또한 Google Analytics가 기능적으로 훨씬 다양합니다. Firebase Analytics 이외 Remote Congfig나 Storage 등은 추천합니다. Remote Congfig를 통해 A/B테스트나 최신 버전 업데이트 알림 등 동적인 값을 사용할 때 추천합니다.