안티 패턴 (자주 하는 실수)
Kollus iOS SDK를 연동할 때 흔히 발생하는 잘못된 구현 사례(안티 패턴)와 올바른 해결 방법을 정리했습니다. 안정적인 서비스 구현을 위해 개발 전 아래 사항들을 반드시 확인하시기 바랍니다.
모바일 앱 내에서 JWT URL 직접 생성
안티 패턴
보안 키가 포함된 JWT 서명 로직을 모바일 클라이언트 앱(iOS) 소스 코드에 직접 구현하는 경우
- 문제점: 보안 키가 외부로 유출될 수 있어 심각한 보안 취약점이 발생합니다.
- 올바른 방법: JWT는 반드시 고객사의 서버에서 발급한 후, 모바일 앱에 전달하는 구조로 구현해야 합니다.
loadContentURL과 checkContentURL 메서드 혼용
안티 패턴
신규 콘텐츠를 다운로드할 때 loadContentURL(_:) 대신 checkContentURL(_:) 메서드를 먼저 호출하는 경우
- 문제점:
checkContentURL(_:)은 기존에 이미 등록된 다운로드 링크와의 매칭 여부만 확인합니다. 등록되지 않은 URL을 전달하면 에러(throw)만 발생하고 다운로드할 콘텐츠 정보가 등록되지 않습니다. - 올바른 방법: 신규 콘텐츠를 다운로드하려면 반드시
loadContentURL(_:)을 먼저 호출하여 콘텐츠 정보를 등록해야 합니다.
downloadCancelContent 메서드를 일시정지 목적으로 오용
안티 패턴
콘텐츠 다운로드를 일시정지하기 위해 downloadCancelContent 메서드를 호출하는 경우
- 문제점:
downloadCancelContent는 다운로드를 취소하는 동작이므로, 다운로드 재개 시 처음부터 다시 전체 파일을 다운로드해야 합니다. - 올바른 방법: 부분 재개(이어받기) 기능이 필요하다면 별도의 진행 상태 추적과 함께 SDK의 resume 동작을 직접 확인하세요.
DRM 만료 콘텐츠 재생 시 파일 전체를 자동 재 다운로드
안티 패턴
DRM 라이선스가 만료되었을 때, 영상 파일 자체를 다시 다운로드하도록 구현하는 경우
- 문제점: 불필요한 네트워크 트래픽이 발생하고 사용자 다운로드 대기 시간이 길어집니다.
- 올바른 방법: 영상 파일 재다운로드 없이,
updateDownloadDRMInfo메서드를 호출하여 DRM 라이선스만 갱신하면 됩니다. 자세한 사항은 6. DRM 라이선스 갱신 문서를 참고하세요.