설문은 지금 올라간 빌드를 묻는다 — 「오늘 누가 쏘냐?」 app-ads.txt 와 광고 정책 답, 처리방침 고치기
광고 SDK 를 넣으면 코드 밖의 말도 같이 바뀐다. 판매자 확인용 app-ads.txt 를 웹 사이트 루트에 올리고, Play 앱 콘텐츠의 광고·광고 ID·데이터 보안 답을 새 빌드 기준으로 미리 써 두고, 실제 매니페스트 권한에 맞춰 처리방침과 스토어 문구, 출시 노트를 고쳤다. 무엇을 언제 바꾸느냐가 더 중요했다.
애드소프트 기술블로그
애드소프트 박재호입니다. IIS·ASP.NET 웹 서비스와 메일서버를 직접 운영하고, Unity 게임과 데스크톱 앱을 만들며 겪은 문제와 해결 과정을 기록합니다.
광고 SDK 를 넣으면 코드 밖의 말도 같이 바뀐다. 판매자 확인용 app-ads.txt 를 웹 사이트 루트에 올리고, Play 앱 콘텐츠의 광고·광고 ID·데이터 보안 답을 새 빌드 기준으로 미리 써 두고, 실제 매니페스트 권한에 맞춰 처리방침과 스토어 문구, 출시 노트를 고쳤다. 무엇을 언제 바꾸느냐가 더 중요했다.
전면 광고가 떠 있는 동안 그 폰의 메인 스레드는 멈춘다. 같이 하기에서 그건 연결이 끊긴 것과 구별이 안 됐다. 연결 확인을 소켓 스레드로 옮기고, 방장이 보내는 a_show 와 게스트가 돌려주는 a_done 두 메시지로 모든 폰의 광고를 맞췄다. 늦게 닫는 폰, 광고가 없는 폰, 나간 폰을 기다리는 규칙과 규약 버전 13 이야기.
파티게임에서 광고를 넣을 수 있는 자리는 생각보다 적다. 결과를 다 보고 다음 판으로 넘어가는 순간 하나만 골랐고, 그 자리에 전면 광고 하나를 띄우는 정적 서비스를 만들었다. 미리 불러오기, 닫힌 뒤 정확히 한 번 부르는 약속, 조용한 실패와 재시도, 빌드별 광고 단위와 광고 등급, iOS 분기까지.
회사 홈페이지의 틀을 그대로 들고 고객사 홈페이지를 하나 더 만들었다. 바꾼 것보다 바꾸지 않은 것이 더 많았고, 한 번은 바꿨다가 되돌렸다. 그 사이 원래 홈페이지는 회사 소개를 넘어 도구를 나눠 주고, 블로그를 잇고, 검색엔진과 광고 크롤러에게 신분을 밝히는 자리가 됐다.
A/S 를 맡긴 고객은 회원이 아니다. 그 사람이 자기 접수 건만 찾게 하려고 처음엔 긴 접수번호와 전화번호 뒷자리를 받았다. 폰 자판으로 스무 자 가까운 번호를 치게 하는 대신 여섯 자리로 줄이자, 이번엔 그 번호를 하나씩 맞혀 보는 쪽을 막아야 했다.
문의 페이지를 열었더니 폼 자리에 "폼 전송이 아직 설정되지 않았습니다"가 떠 있었다. 방문자가 읽을 문장이 아니었다. 서버 없는 정적 사이트에 폼을 붙이면서 키를 어디에 둘지, 브라우저가 어디로 보내게 둘지, 받는 쪽은 무엇을 막아야 할지를 하나씩 정했다.
회사 홈페이지 상단의 EN 버튼을 눌렀더니 주소 끝에 슬래시가 두 개 붙어 있었다. 경로를 만드는 함수 하나의 실수였는데, 그 함수를 언어 전환·hreflang·canonical 이 모두 쓰고 있었다. 서버 없이 HTML 만 올리는 회사 홈페이지를 Astro 로 만들고 IIS 에 배포하기까지의 이야기.
검색창에 '전역'을 쳤는데 Git 커밋 수정 스니펫이 떴다. 화면의 글자와 검색어 사이에, 아직 조합 중인 한 글자가 끼어 있었다. 복사하는 순간 날짜·환경 변수·전역 변수를 알아서 채우는 Cliply 0.3.0 과, 그걸 만들다 드러난 WPF 한글 입력 버그 이야기다.
관리자 태그 화면에 글 수가 0인 줄이 하나둘 쌓이고, 한글 태그 주소는 tag-숫자로 남아 있었다. 글이 늘어나며 생긴 정리 거리를 손보다가, 지워도 되는 빈 태그와 지우면 안 되는 빈 태그를 가르고, 한글 음절을 산수로 쪼개 영문 주소를 만들고, 연재 끝에 앱 받기 카드를 붙였다.
애드센스 사이트 상태가 '준비됨'으로 바뀌었다. 광고를 켜는 일만 남은 줄 알았는데, 막상 남은 건 어디를 끄느냐였다. 위치별 광고 여섯 자리 중 세 곳만 남기고 자동 광고는 한 가지만 남긴 이유, 처음 구성이 너무 많아 다시 줄인 과정와, 애드센스 미리보기가 끝내 뜨지 않은 이유를 정리했다.