본문으로 건너뛰기

9. 다운로드 에러 코드

SDK 에러 코드

com.kollus.sdk.media.util.ErrorCodes 클래스에 정의된 핵심 에러 코드 규격과 구체적인 발생(트리거) 시점입니다.

상수설명트리거
ERROR_OK정상 완료
ERROR_INCORRECT_AUTH_KEYSDK 키 만료/오류초기화(initialize) 또는 인증 메서드(setCertification) 호출 시점
ERROR_UNSUPPORTED_DEVICE지원하지 않는 디바이스디바이스 정보 등록(setDevice) 또는 DRM 호환성 검증 실패 시
ERROR_STORAGE_FULL저장소 용량 부족메타 정보 로드(load) 및 파일 다운로드(download) 시작 시점
ERROR_WRITE_FILE파일 쓰기 오류다운로드 진행 중 디스크 입출력 에러 발생 시
ERROR_ALREADY_DOWNLOADING중복 다운로드 요청동일한 콘텐츠에 대해 download(mck) 호출 시
ERROR_ALREADY_DOWNLOADED이미 다운로드 완료된 콘텐츠다운로드 완료된 콘텐츠에 대해 download(mck) 호출 시
ERROR_NOT_EXIST_DOWNLOADED_CONTENTS로컬에 다운로드된 파일 없음getDownloadKollusContent(path) 호출 또는 오프라인 재생 시
ERROR_EXPIRATION_DATE만료일 초과오프라인 재생 시도 시
ERROR_EXPIRATION_PLAY_TIME허용 재생 시간 초과오프라인 재생 시도 시
ERROR_EXPIRATION_COUNT허용 재생 횟수 초과오프라인 재생 시도 시
ERROR_FORCE_DELETEDRM 콜백 kind2 또는 kind3 응답으로 콘텐츠 강제 삭제onDRMInfo 콜백 내에서 DCB_INFO_DELETE 신호 감지

SDK 외부 에러

SDK 내부 로직 외에 모바일 운영체제 정책이나 네트워크 오류로 인해 발생할 수 있는 에러 상황 대응 패턴입니다.

  • 저장소 권한 거부: 앱 레이어에서 SecurityException 또는 IOException 예외 처리를 구성해야 합니다. 매니페스트 내 권한 선언 상태와 런타임 권한 획득 흐름을 확인하세요.
  • 네트워크 연결 실패: SDK가 자동으로 재시도를 수행합니다. 자동 재시도 임계치는 storage.setNetworkTimeout(timeout, retryCount)로 조정할 수 있으며, setNetworkTimeout(30, 3) (30초, 3회) 설정을 권장합니다.
  • 백그라운드 강제 종료: 포그라운드 서비스를 적용하지 않으면 운영체제가 다운로드 프로세스를 임의로 종료합니다. FOREGROUND_SERVICE_TYPE_DATA_SYNC 속성을 함께 사용해야 합니다. (참고 문서: 1. 다운로드 준비)

에러 코드별 추천 사용자 메시지

에러 코드사용자 메시지 예시
ERROR_INCORRECT_AUTH_KEY"앱 인증에 문제가 발생했습니다. 앱을 최신 버전으로 업데이트해 주세요."
ERROR_STORAGE_FULL"기기의 저장 공간이 부족합니다. 시청을 완료한 다운로드 파일을 삭제하거나 저장 공간을 확보해 주세요."
ERROR_WRITE_FILE"파일 저장에 실패했습니다. 잠시 후 다시 시도해 주세요."
ERROR_EXPIRATION_*"콘텐츠 시청 기간이 만료되었습니다. 네트워크를 연결하여 라이선스를 갱신해 주세요."
ERROR_UNSUPPORTED_DEVICE"이 기기에서는 콘텐츠를 다운로드하거나 재생할 수 없습니다."