Fadongkwon Soft

"최초 접속 20초 초과" 반려를 두 번 고쳤습니다 — 20초는 로딩이 아니라 화면이 멈추는 시점이었다

우리 PC에서 0.2초 만에 뜨는 앱이 검수에서는 20초를 넘겼다고 반려됐습니다. 첫 번째 원인은 첫 화면에서 바깥으로 나가던 요청이었고, 그걸 고친 뒤에도 또 반려됐습니다. 두 번째 원인은 화면이 뜬 다음에도 몇 초 간격으로 계속 다시 그려지고 있었다는 것이었습니다

Preview Image

화면이 바뀌는 그 순간에 숨어 있던 버그 두 개 — 0으로 나눈 속도와 남아 있던 탭

벽돌깨기 공이 기어가듯 느렸던 진짜 이유는 숨겨진 화면의 높이를 재서 1px로 계산했기 때문이었습니다. 숫자 퍼즐은 마지막 조각을 놓은 그 손가락 동작이 방금 나타난 배너까지 눌러 완성 화면을 건너뛰었습니다. 둘 다 화면이 전환되는 한순간에 생긴 버그였고, 방어 코드가 원인을 감췄습니다

Preview Image

유입은 한 문으로만 오지 않습니다 — 인스타·유튜브 54곳에 길을 냈습니다

앱을 29종 만들어 두고도 정작 사람이 앱까지 오는 길은 막혀 있었습니다. 인스타그램 27개 게시물 중 24개에 스토어 링크가 없었고, 유튜브 27편 중 20편이 그랬고, 토스 링크는 54곳 어디에도 없었습니다. 링크 세 줄을 앱 목록에서 찍어 붙이던 중, 등록정보를 채우려고 올렸던 쇼츠가 1,939회를 먹고 있는 걸 봤습니다

Preview Image

Play 콘솔을 클릭하던 일을 API로 옮겼습니다 — 로케일 121곳과 출시 한 줄

스토어 등록정보의 동영상은 언어별 필드입니다. 앱마다 로케일 수가 2개·17개·29개로 다르고, 콘솔 웹으로는 언어당 12~15초씩 걸리는데 한국어 칸은 조용히 저장 실패하기도 했습니다. 서비스 계정 권한 두 개를 더해 Play Developer API로 옮기니 앱당 수 초가 됐고, AAB 업로드와 출시까지 한 줄이 됐습니다

Preview Image

순위를 읽는 API가 없는 리더보드에 기록탭을 붙인 이야기 — 게임 20종

토스 게임센터 리더보드에 점수를 올리려다 읽기 API가 없다는 걸 알았습니다. 순위를 받아올 수 없으니 화면에 순위표를 그릴 수가 없습니다. 그래서 시간축은 우리가, 남들과의 비교는 토스가 맡는 2층 구조로 게임 20종에 일간·주간·월간·명예의 전당 기록탭을 붙였습니다. 하는 김에 일시정지와 하트 UI까지 손본 하루

Preview Image

아이패드에서만 소리가 늦게 나왔다 — 재생 버튼을 누른 뒤에야 시작되던 네 단계

한글 몬스터가 단어를 읽어주기까지 눈에 띄게 늦었습니다. 안드로이드와 PC에서는 멀쩡했고 아이패드 사파리에서만 그랬습니다. 원인은 코드 한 줄이었습니다. 소리를 낼 때마다 오디오 엘리먼트를 새로 만들고 있었고, 그래서 엘리먼트 생성부터 디코드까지 네 단계가 전부 '재생 버튼을 누른 뒤에' 일어났습니다