플레이 콘솔 "태그"를 앱 53개에 하루 만에 단 이야기 — API가 없는 메뉴를 자동화한 방법
구글 플레이 콘솔의 스토어 설정 태그는 검색과 추천, 비교 대상 앱 그룹에 쓰이는데 우리 앱은 전부 비어 있었습니다. 게임 태그 어휘 160개와 비게임 어휘의 빈약함, API가 없어 브라우저를 직접 움직여 53개 앱에 태그를 단 과정, 합성 클릭이 먹히는 곳과 안 먹히는 곳을 정리했습니다
10월 3일에 플레이 스토어 페이지를 다른 앱과 나란히 놓고 봤을 때 눈에 띈 게 하나 있었습니다. 유명 스도쿠 앱 페이지에는 “퍼즐·논리·스도쿠·캐주얼·싱글플레이·오프라인” 같은 칩이 줄줄이 붙어 있는데, 우리 스도쿠는 “퍼즐” 하나뿐이었습니다. 확인한 앱 7개가 전부 카테고리 칩만 있었습니다.
그 칩이 플레이 콘솔의 스토어 설정 → 태그 관리에서 다는 태그입니다. 앱당 최대 5개이고, 구글 도움말은 “사용자가 Google Play에서 앱을 발견하는 데 도움이 되며, 앱이 표시되는 위치와 비교 대상 동종 앱 그룹이 달라질 수 있다”고 설명합니다. 신규 등록 때 쓰는 우리 체크리스트에 이 단계가 빠져 있어서 앱 50여 개가 전부 비어 있었습니다.
태그 어휘부터 알아야 한다
태그는 자유 입력이 아니라 구글이 정한 목록에서 고릅니다. 게임용 목록은 한국어 기준 160개 정도입니다. 장르어가 꽤 촘촘해서 로직 퍼즐, 슬라이딩 퍼즐, 병합 퍼즐, 블록 퍼즐, 버블 슈팅, 벽돌 깨기, 두뇌 게임, 두뇌 훈련, 추상 전략, 체커, 체스, 주사위, 솔리테르, 하이퍼 캐주얼, 미니 게임, 파티 게임, 물리 기반 같은 말이 다 있습니다. 보드게임 9개와 퍼즐 게임은 고를 게 많았습니다.
문제는 비게임 쪽입니다. 앱 카테고리의 태그 목록에는 운세·사주·타로·로또·퀴즈·시험 같은 말이 하나도 없습니다. 검색해 보니 운세 계열은 “별자리 운세” 하나뿐이었습니다. 그래서 사주로또나 차번호 로또 같은 앱에는 엔터테인먼트·별자리 운세·라이프스타일 세 개만 달 수 있었고, 한국사·경제 퀴즈는 교육·학습 가이드·자기 계발·도서/참고자료로, 로또 대신 저축은 개인 금융을 넣었습니다. 우리 비게임 앱이 어떤 장르인지 플레이에 설명할 어휘 자체가 없다는 게 발견이었습니다.
API가 없다
이 메뉴는 Play Developer API로는 손댈 수 없습니다. 스토어 등록정보, 스크린샷, 출시는 전부 API로 처리하는데 태그만 콘솔 웹 전용입니다. 50개 앱에 5개씩이면 250번을 고르는 일이라 손으로는 하고 싶지 않았고, 브라우저를 스크립트로 움직이기로 했습니다.
콘솔 화면을 들여다보니 함정이 몇 개 있었습니다.
- 태그 관리 버튼은 합성 클릭에 반응하지 않습니다. 자바스크립트에서
click()을 불러도, 포인터 이벤트를 흉내 내도 대화상자가 열리지 않습니다. 이 버튼만은 실제 마우스 클릭이 필요했습니다. - 대화상자 안의 체크박스는 반대입니다.
click()은 안 먹히지만, 좌표를 잡아pointerdown → mousedown → pointerup → mouseup → click순서로 이벤트를 쏘면 토글됩니다. 머티리얼 체크박스가 포인터 이벤트를 듣고 있기 때문입니다. - 목록은 11행만 그려집니다. 160개 중 화면에 보이는 것만 DOM에 있고, 스크롤을 코드로 밀어도 더 그려지지 않습니다. 대신 위쪽 검색창에 값을 넣고 input 이벤트를 보내면 그 이름의 행만 남습니다. 그래서 태그 이름을 하나씩 검색해 체크하는 방식으로 바꿨습니다.
- 검색창도 두 개라서 “필터 추가” 쪽이 아니라 aria-label이 “태그 검색”인 쪽을 골라야 합니다.
- 적용을 누르면 바로 저장됩니다. 등록정보 변경처럼 검토를 다시 받지 않습니다. 공개 스토어 페이지의 칩은 몇 시간 뒤에 바뀝니다.
앱 하나당 흐름은 “스토어 설정 페이지 열기 → 태그 관리 실제 클릭 → 대화상자에서 태그 5개 검색·체크 → 적용 → 페이지의 태그 줄 읽어 확인”입니다. 탭 네 개를 띄워 네 앱씩 돌리니 한 시간 안에 끝났습니다.
태그를 어떻게 골랐나
규칙을 단순하게 두었습니다. 카테고리와 같은 상위 태그 하나, 장르를 정확히 말하는 태그 하나, 플레이 방식 태그 두세 개.
- 스도쿠·지뢰찾기·불끄기·상자 밀기: 퍼즐, 로직 퍼즐, 두뇌 게임, 두뇌 훈련, 캐주얼
- 리버시·사목·고누·만칼라: 보드, 추상 전략, 두뇌 게임, 전략, 캐주얼
- 체커: 보드, 체커, 추상 전략, 두뇌 게임, 전략 / 장기: 보드, 체스, 추상 전략, 전략, 두뇌 게임
- 벽돌깨기: 아케이드, 벽돌 깨기, 캐주얼, 하이퍼 캐주얼, 미니 게임
- 당구·미니골프: 스포츠, 당구 또는 골프, 물리 기반, 캐주얼, 미니 게임
- 윷놀이: 보드, 주사위, 파티 게임, 캐주얼, 전략
한 가지 알게 된 것은 태그에 계층이 있다는 점입니다. 하늘 점프에 “러너”를 넣었더니 저장된 결과에는 러너의 상위인 “액션”이 끼어 들어오고, 5개 제한 때문에 “하이퍼 캐주얼”이 밀려났습니다. 하위 태그를 고르면 상위가 따라올 수 있으니 5개를 꽉 채울 때는 그걸 감안해야 합니다.
결과
플레이에 올라가 있는 앱 53개 전부 태그가 달렸습니다. 게임 41개는 5개씩, 비게임은 어휘가 없어 3~4개씩입니다. 이미 태그가 있던 2048은 그대로 두었습니다.
효과는 바로 보이지 않습니다. 태그는 검색 순위를 직접 올려 주는 게 아니라 “어디에 보일지와 누구와 비교될지”를 바꾸는 것이라서, 한 달쯤 뒤 스토어 방문 수를 9월과 비교해 볼 생각입니다.
정리
- 스토어 설정의 태그는 신규 등록 체크리스트에 넣어 두세요. 저는 50개를 비워 둔 채 두 달을 보냈습니다.
- 게임 태그 어휘는 넉넉하고, 비게임은 장르어가 거의 없습니다.
- API가 없는 메뉴도 브라우저 자동화로 되지만, 어떤 요소는 실제 클릭만 받습니다. 하나 해 보고 확인한 뒤 돌리세요.
- 하위 태그를 고르면 상위 태그가 따라올 수 있습니다.
