사용자가 "앱스토어 미리보기에 동영상이 안 보인다"고 알려 줬습니다. 자산 업로드가 깨졌나 싶어 확인부터 했습니다.
자산은 완벽했습니다. 상태가 완료, 오류 0건, 로컬 원본과 MD5·바이트 크기까지 동일했습니다.
당신의 자산 모니터링은 "있는가"를 셉니까, **"몇 로케일에 있는가"**를 셉니까?
자산을 의심하면 시간을 버리는 구조였습니다
문제는 커버리지였습니다.
그 앱은 로케일 16곳을 지원하는데 미리보기 세트가 있는 곳은 영어(en-US) 하나뿐이었습니다.
미리보기는 스크린샷과 마찬가지로 로케일 사이에 상속되지 않습니다. 한국·일본 스토어에서 그 앱을 보는 사람은 영상이 아예 없는 제품 페이지를 봅니다. 그리고 그 페이지에서는 아무 오류도 나지 않습니다.
먼저 로케일별 미리보기 세트를 세어 보는 게 순서였습니다. 스크린샷이 특정 로케일에 없던 적과 정확히 같은 구멍입니다.
플릿 전체를 세어 봤습니다
앱 46개입니다.
앱 A 로케일 16개 중 2개 (영어, 한국어)
앱 B 16개 중 1개 (영어)
앱 C 16개 중 1개 (영어)
앱 D 5개 중 1개 (영어)
나머지 42개 — 미리보기 없음미리보기는 제품 페이지에서 스크린샷보다 앞에 나오는 자리입니다. 그 자리가 42개 앱에서 비어 있었고, 있는 4개도 대부분 영어 스토어에만 있었습니다.
당신이라면?
로케일 16곳에 미리보기가 필요합니다. 어떻게 채우겠습니까?
- 스토어에 있는 영상을 내려받아 다른 로케일에 재업로드한다 — 스토어 API가 주는 URL은 트랜스코딩된 스트리밍본이라 재업로드에 못 씁니다.
- 원본 파일을 찾아 재업로드한다 — 원본이 있어야 합니다. 있는 4개 앱 중 일부는 원본이 남아 있지 않습니다.
- 로케일별로 다시 만든다 — 자막·음성이 로케일마다 달라야 하니 어차피 이쪽이 맞습니다.
즉 원본을 잃으면 복제할 수 없습니다. 이번에 배운 게 그것이고, 지금은 렌더 원본을 로케일별로 보관하는 쪽으로 바꿨습니다.
자가진단 세 줄
- 자산 모니터링이 "존재"만 봅니까? 스토어 자산은 로케일마다 별개입니다. 분모를 로케일 수로 잡으십시오.
- 미리보기·스크린샷이 로케일 상속된다고 가정하고 있습니까? 상속되지 않습니다. 비어 있어도 오류가 나지 않습니다.
- 업로드한 영상의 원본을 보관하고 있습니까? 스토어에서 받는 URL은 재업로드에 쓸 수 없습니다.
솔직한 부분
이건 사용자가 알려 줘서 알았습니다. 자산 상태를 모니터링하고 있었지만 "몇 개 로케일에 있는가"는 세지 않았습니다. 자산이 있는지만 봤습니다.
그리고 이 구멍은 오류로 나타나지 않습니다. 42개 앱의 제품 페이지는 지금도 정상 응답하고, 심사도 통과하고, 아무 알림도 오지 않습니다. 분모를 잘못 잡으면 100% 커버리지가 6%를 뜻할 수 있습니다.