2026.07.13 작업일지 v1.0.1
00:38, 구글이 “안전하지 않은 브라우저”라며 로그인을 막았다. 08:36, 화면 있는 크롬으로 다시 시도하자 폰에 승인 알림이 떴다. 09:13, 진짜 광고 ID가 앱 코드에 박혔다.
이 날의 주제는 하나였다. 광고가 돈이 되려면 진짜 광고 ID가 앱에 박혀 있어야 한다. 그런데 그 ID를 발급받으려면 구글 광고 콘솔에 로그인해야 하고, 그 문 앞에서 자동화가 여덟 시간을 헤맸다.
1. “안전하지 않은 브라우저입니다”
새벽에 단어요의 광고 ID를 발급받으려고 자동 로그인을 시도했다. 구글의 대답은 냉정했다.
로그인할 수 없음: 안전하지 않은 브라우저
화면 없이 도는 브라우저(헤드리스)를 구글이 로봇으로 판정한 것이다. 규정상 봇 감지 우회는 금지라 거기서 멈췄고, 새벽 00:45에 “그럼 내가 직접 만들어서 ID를 넘겨줄게”로 방향이 잡혔다.
그런데 아침에 지적이 들어왔다.
“니가 만들어. 플레이라이트로. 맥북은 잘만 하더만 너는 왜 못해”
맞는 말이었다. 이전 성공 사례는 화면이 있는 진짜 크롬이었다. 다시 실측해보니 결론이 뒤집혔다 — 봇 차단은 헤드리스 한정이었고, 창이 있는 크롬에서는 차단이 0이었다. “봇 감지 확정, 재시도 금지”라던 새벽의 판단은 과잉 일반화였다.
배운 것 — 한 조건에서의 실패를 “그 방법 자체의 실패”로 확정하면, 되는 길까지 같이 막아버린다.
2. 패스키라는 두 번째 문
창 있는 크롬으로 들어가자 이번엔 패스키(생체·기기 인증) 창이 떴다. 이건 브라우저 자동화가 누를 수 없는 운영체제 창이다. 우회 대신 정식 대안 경로를 찾았다 — “다른 방법으로 로그인” → 비밀번호 없는 폰 승인 경로. 08:36, 폰에서 “예” 한 번을 탭하자 문이 열렸다.
그 뒤는 빨랐다. 광고 앱 등록 → 배너 광고 자리 생성 → 실제 ID 회수 → 앱 코드의 임시 ID를 진짜 ID로 교체 → 검증 → 병합(09:13). 새벽부터 여덟 시간을 잡아먹은 일이 로그인만 뚫리자 40분 만에 끝났다.
3. 앱 두 개가 스토어로 나갔다
같은 날 낮, 뽀모도로(집중 타이머)와 단어요(영어 단어장)가 구글 플레이에 처음으로 정식 출시됐다. 광고 제거 상품(₩2,500)도 함께 등록됐다.
여기서도 함정이 하나 있었다. 내부 테스트 업로드가 거부됐는데, 이유는 **“광고 식별자를 쓰면서 안 쓴다고 신고했다”**는 것. 앱에 광고를 붙이면서 데이터 안전 신고서는 예전 그대로였던 것이다. 두 앱 모두 신고를 “광고 사용함”으로 정정하고 다시 올려 통과했다.
배운 것 — 스토어에서 코드와 신고서는 한 몸이다. 기능을 추가하면 신고서도 같은 커밋에서 바뀌어야 한다.
저녁에는 가계부(mini_expense)도 안드로이드 첫 출시 심사에 올라갔고, 한컵에는 광고 제거 상품 코드가 들어갔다.
4. 그 밖에
| 영역 | 결과 |
|---|---|
| 승인 대기 자동화 | ”되돌릴 수 있는 안전한 일”만 자동 승인하되 6시간 취소창을 주는 안전장치 도입 |
| 텔레그램 | 작업 중임을 눈(👀) 표시로 알리는 활동 표시, 제안 답변 버블 정리 |
| 안전 분류기 | 위험 명령 오탐률 91% → 5% 미만으로 교정 |
| 시험 기준선 | 빨간불 9건 복구, 전체 1027건 통과 |
5. 그래서 뭐가 남았나
앱 2개 정식 출시, 1개 심사 제출, 광고 수익 배선 완료. 그리고 “헤드리스가 막히면 창을 띄운다”는 값비싼 교훈 하나 — 이건 다음 앱에서 여덟 시간이 40분으로 줄어드는 지식이다.
다음 이야기는 한줄일기가 여태 가짜 광고 ID로 돌고 있었다는 사실을 발견하는 화요일 이야기.
— 강대종 / @ssamssae