스크린샷과 에셋5 분 읽기

미리보기 영상은 한 언어에만 있었습니다

사용자가 '앱스토어 미리보기에 동영상이 안 보인다'고 알려 줬습니다. 자산은 완벽했습니다. 상태 완료, 오류 0건, MD5까지 원본과 동일했습니다. 문제는 커버리지였습니다.

#app-store#screenshots#video#i18n#aso#reality-check
두 패널 도식. 왼쪽은 자산 검증이 전부 통과한 상태로 상태 완료·오류 0건·MD5 동일을 보여주지만 미리보기 세트가 있는 로케일은 16곳 중 1곳뿐임을 보여준다. 오른쪽은 플릿 46개 앱의 미리보기 로케일 커버리지로, 네 앱만 미리보기가 있고 42개는 아예 없으며 있는 것도 대부분 영어 스토어뿐임을 나열한다.
자산이 있는지 세는 것과 몇 로케일에 있는지 세는 것은 다른 질문입니다.

사용자가 "앱스토어 미리보기에 동영상이 안 보인다"고 알려 줬습니다. 자산 업로드가 깨졌나 싶어 확인부터 했습니다.

자산은 완벽했습니다. 상태가 완료, 오류 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개 앱 중 일부는 원본이 남아 있지 않습니다.
  • 로케일별로 다시 만든다 — 자막·음성이 로케일마다 달라야 하니 어차피 이쪽이 맞습니다.

원본을 잃으면 복제할 수 없습니다. 이번에 배운 게 그것이고, 지금은 렌더 원본을 로케일별로 보관하는 쪽으로 바꿨습니다.

자가진단 세 줄

  1. 자산 모니터링이 "존재"만 봅니까? 스토어 자산은 로케일마다 별개입니다. 분모를 로케일 수로 잡으십시오.
  2. 미리보기·스크린샷이 로케일 상속된다고 가정하고 있습니까? 상속되지 않습니다. 비어 있어도 오류가 나지 않습니다.
  3. 업로드한 영상의 원본을 보관하고 있습니까? 스토어에서 받는 URL은 재업로드에 쓸 수 없습니다.

솔직한 부분

이건 사용자가 알려 줘서 알았습니다. 자산 상태를 모니터링하고 있었지만 "몇 개 로케일에 있는가"는 세지 않았습니다. 자산이 있는지만 봤습니다.

그리고 이 구멍은 오류로 나타나지 않습니다. 42개 앱의 제품 페이지는 지금도 정상 응답하고, 심사도 통과하고, 아무 알림도 오지 않습니다. 분모를 잘못 잡으면 100% 커버리지가 6%를 뜻할 수 있습니다.

관련 글