릴리즈 노트
3.0.15
Release Date: 2026-04-14
Fixed
- 약전계에서 버퍼링 중에 종료시 ANR 현상 방지
- 재현 경로 : 스트리밍 재생 > 비행기 모드 > Seek > 종료 시 ANR 발생
3.0.14
Release Date: 2026-03-19
Added Features
-
라이브 동시 접속자 수 리포팅 전송
- 변경 이유: 라이브 동시 접속자 수 통계를 상세히 수집하기 위함
- 영향 범위: 없음
- 앱 변경 여부: 없음
-
라이브 비인가 IP 재생 차단
- 변경 이유: 라이브 재생 링크 노출에 대한 방어책
- 영향 범위: 없음
- 앱 변경 여부: 없음
-
Kibana에 에러 로그를 보고할 때 에러 스택 트레이스(error stack trace)가 포함된 로그 메시지를 전송하도록 수정
- 변경 이유: Exception으로 인한 에러 발생 시 자세한 정보 필요
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.13
Release Date: 2026-01-26
Added APIs
playback_limit기능 추가// KollusContent Class
public int getPlaybackLimitDuration();
public String getPlaybackLimitMessage();- 변경 이유: 특정 UTC Time까지 재생을 원하는 고객사 요구사항 반영
- 영향 범위: 없음
- 앱 변경 여부: 없음
Added Features
- 콘텐츠 다운로드 기능 이벤트 데이터 수집
- 변경 이유: 콘텐츠 다운로드 관련 통계 수집
- 영향 범위: 없음
- 앱 변경 여부: 없음
Changed Features
-
StorageManager의 내부 함수 hidden 처리
- 변경 이유: SDK 보안 강화
- 영향 범위: 없음
- 앱 변경 여부: 없음
-
프록시 서버 종료를 Thread에서 처리
- 변경 이유: 플레이 스토어의 ANR에 대응
- 영향 범위: 없음
- 앱 변경 여부: 없음
Fixed
- ABR 콘텐츠 재생 시 간헐적 Crash 현상 수정
- 변경 이유: 내부적으로 bitrate 변경 시 NullPointerException에 대응
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.12
Release Date: 2025-12-16
Fixed
-
AI 챕터가 있는 콘텐츠 재생 시 강제 종료되는 현상 수정
- 변경 이유: 3.0.11에서 3.0.10으로 롤백 과정에서 AI 챕터 오류가 원복되어 강제 종료되는 현상 발생
- 영향 범위: 3.0.11을 사용하는 고객사 중 AI 챕터 서비스를 이용하는 고객사는 반드시 패치 필요
- 앱 변경 여부: 없음
-
중복 재생 차단이 설정되지 않은 콘텐츠 다운로드 시 강제 종료되는 현상 수정
- 변경 이유: 다운로드 시 중복 재생 차단이 설정되지 않았는데 체크하다 강제 종료되는 현상 발생
- 영향 범위: 중복 재생 차단 설정이 되어 있지 않은 상태에서 다운로드를 사용하는 고객사
- 앱 변경 여부: 없음
3.0.11
Release Date: 2025-12-05
Changed Features
- DRM Callback, PlayCallback 에러 코드가 -9000, -10000대 나오도록 수정 사항 원복
- 변경 이유: 에러 코드 변경으로 인해 오류 메시지 매핑이 되지 않아 메시지가 변경되는 현상이 발생하여 원복
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.10
Release Date: 2025-12-04
Added APIs
-
사용자 행동 분석 관련 API 추가
// KollusContent Class
public String getActionStatsUrl();
public String getActionStatsSecretKey();- 변경 이유: 사용자 행동 분석을 통해 UI 기획 등에 활용
- 영향 범위: 없음(KollusPlayer App에서 사용)
- 앱 변경 여부: 없음
-
챕터 기능 추가
// KollusContent Class
public String getDefaultChapterLanguage();
public List<ChapterInfo> getChapterInfos();
// KollusContent.ChapterInfo Class
public String getLanguage();
public List<Chapter> getChapters();- 변경 이유: 구간별 소제목을 표시하여 사용자에게 해당 구간의 대략적인 내용 전달
- 영향 범위: 없음
- 앱 변경 여부: 없음
Added Features
- 엣지 서버 접속 시 keep alive 추가
- 변경 이유: 서버 네트워크 자원 효율성 강화
- 영향 범위: 없음
- 앱 변경 여부: 없음
Changed Features
-
DRM Callback, PlayCallback 에러 코드가 -9000, -10000대 나오도록 수정
- 변경 이유: 일부 에러 코드가 -8000대로 출력되어 에러 코드만으로 오류 분석 어려움
- 영향 범위: 없음
- 앱 변경 여부: 없음
-
KollusPlayerLMSListener.onLMS의 response data 변경
// Before
{"error":1,"status":"HTTP Code:28"}
// After
{"error":1, "code":28, "time":10005}- 변경 이유: LMS 데이터의 전송 결과에 소비한 시간 추가. 단순히 디버깅 용도이기에 앱 영향은 없습니다.
- 영향 범위: 없음
- 앱 변경 여부: 없음
Fixed
-
QoE 데이터의 dns lookup, connect, tls handshake의 값이 추가되어 잘못 올라가는 현상 수정
- 변경 이유: QoE 데이터 오류 수정
- 영향 범위: 없음
- 앱 변경 여부: 없음
-
LMS 데이터의 showtime이 간헐적으로 잘못 올라가는 경우 수정
- 변경 이유: LMS 데이터의 showtime이 간헐적으로 음수나 갑자기 튀는 현상이 보고되어 해당 데이터에 오류가 감지되면 이전 값으로 올라가도록 수정
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.9
Release Date: 2025-09-04
Fixed
- KollusStorage의 finish 호출 시 강제 종료되는 현상 수정
- 변경 이유: finish 시 QoE 인스턴스를 초기화하지 않아서 강제 종료되는 현상으로 버그 패치
- 영향 범위: SDK 3.0.8 적용 고객사 중 KollusStorage의 finish를 사용하는 고객사는 수정된 SDK 적용 필요
- 앱 변경 여부: 없음
3.0.8
Release Date: 2025-08-06
Added APIs
- QoE 기능 추가
- 변경 이유: 네트워크 품질 평가를 위한 기능 추가
- 영향 범위: 없음
- 앱 변경 여부: 없음
KollusContent에 아래 API 추가
/**
* 채널 키를 가져오는 함수
* @return 채널 키
*/
public String getChannelKey();
/**
* [Internal SDK Only]
* QoE 세션 정보를 보내는 URL
* @return 세션 URL
*/
public String getQoeSessionUrl();
/**
* [Internal SDK Only]
* QoE 네트워크 정보를 보내는 URL
* @return 네트워크 URL
*/
public String getQoeNetworkUrl();
/**
* [Internal SDK Only]
* QoE 재생 정보를 보내는 URL
* @return 재생 정보 URL
*/
public String getPlaybackUrl();
/**
* [Internal SDK Only]
* QoE 암호화 키
* @return 암호화 키
*/
public String getQoeSecretKey();
Changed Features
- 라이브 중 방송 종료 시 playback complete이 아닌 -3012(방송 중이 아님)으로 변경
- 변경 이유: 라이브 방송 종료 시 playback complete 처리로 앱이 종료되던 것을, 사용자가 인지할 수 있도록 -3012 에러 팝업을 표시하도록 수정
- 영향 범위: 없음
- 앱 변경 여부: 없음
Added Features
- 16KB page size 지원
- 변경 이유: Android 15부터 16KB page size 지원을 시작해서 선제 대응(기존은 4kb page size였음). 16kb 단말에서 4kb 라이브러리를 사용하면 런타임에 앱 crash 발생
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.7
Release Date: 2025-06-12
Fixed
- 리스너 미등록 시 안정화 코드 추가
- 변경 이유: MediaPlayer.setKollusPlayerLMSListener 미등록 시 crash 현상 발견
- 영향 범위: 없음
- 앱 변경 여부: 없음
- 버퍼링 중에 종료 시 안정성 강화
- 변경 이유: 안정성 강화
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.6
Release Date: 2025-05-16
Added APIs
- AI자막
KollusContents.SubtitleInfo에 아래 항목 추가public boolean ai; - 변경 이유: AI 생성자막 여부(true: AI 생성자막, false: 일반자막)
- 영향 범위: 없음
- 앱 변경 여부: 없음
Changed Features
- MediaPlayer에서 setMute 제거
- 변경 이유: KollusMediaPlayer에서 소프트웨어적으로 묵음처리하는 API로 더 이상 필요 없음(3.0.4 이후)
- 영향 범위: 없음
- 앱 변경 여부: 없음
Fixed
- PlayCallback의 비정상 response에 대한 예외처리
- 변경 이유: 일부 고객의 비정상 response에 대한 예외처리 (일본 고객과는 무관)
- 영향 범위: 없음
- 앱 변경 여부: 없음
3.0.5
Release Date: 2025-04-08
Added APIs
- 백그라운드 오디오 재생 기능 제어 옵션 항목 추가
- 변경 이유: 백그라운드 재생 시 미디어 알림에 필요 사항 추가
- 영향 범위: 없음
- 앱 변경 여부: 없음
- KollusContent에 아래 API 추가
/**
* [Internal SDK Only]
* 콘텐츠 제공자의 이름을 가져오는 함수
* @return 콘텐츠 제공자 이름
*/
public String getContentProviderName();
/**
* 백그라운드 재생 관련 사용자 설정을 무시할 지 여부를 가져오는 함수
* @return true이면 사용자 설정과 관계없이 무조건 백그라운드 재생을 허용하지 않는다
* false이면 사용자 설정에 따라서 백그라운드 재생 여부를 판단한다
*/
public boolean isDisableBackgroundAudio();
Changed Features
- Database에 있는 LMS 데이터 비동기 방식으로 보내도록 수정
- 변경 이유: 전송 실패한 LMS 데이터가 있는 경우 동기(Sync) 방식으로 재전송하고 있어, 네트워크 지연 시 아래 상황에서 ANR이 발생할 수 있어 비동기(Async) 방식으로 변경
- Pause상태에서 Seek시
- 재생 초기에 종료 시
- 영향 범위: 없음
- 앱 변경 여부: 없음
- 변경 이유: 전송 실패한 LMS 데이터가 있는 경우 동기(Sync) 방식으로 재전송하고 있어, 네트워크 지연 시 아래 상황에서 ANR이 발생할 수 있어 비동기(Async) 방식으로 변경
3.0.4
Release Date: 2025-03-13
Added Features
- 에러 수집 고도화
- KollusContent에 아래 API 추가
/**
* [Internal SDK Only]
* 에러 발생 시 에러 수집할 서버 UAL 주소
* @return UAL 에러 서버 주소
*/
public String getUalErrorReportUrl();
/**
* [Internal SDK Only]
* 에러 발생 시 에러 수집할 서버 주소
* @return 에러 서버 주소
*/
public String getErrorReportUrl();
/*
* [Internal SDK Only]
* 콘텐츠 제공자를 가져오는 함수
* @return 콘텐츠 제공자
*/
public String getContentProviderKey() ;
/*
* [Internal SDK Only]
* 에러 발생 시 수집할 서버에 보낼 추가적인 데이터
* @return 추가 데이터
*/
public String getErrorAdditionalInfo();
- KollusContent에 아래 API 추가
Changed Features
- 오디오 워터마크 지원 종료
- 변경 이유: 지원 종료
- 영향 범위: 없음
- 앱 변경 여부: 제거되는 API를 사용하는 고객
- KollusMediaPlayer 제거
- 변경 이유: 해당 플레이어는 5.0미만이거나 오디오 워터마크 콘텐츠 재생 시 사용하는 것으로 더 이상 필요 없어짐
- 아래 항목 제거
- MediaPlayer에서 제거
- setVolumeLevel
- enum RENDER_MODE
- OnCencDrmListener
- setOnCencDrmListener
- getPlayerType
- KollusContent에서 제거
- getAudioWaterMark
- Utils에서 제거
- getPlayerType
- setRenderType
- getRenderType
- enum DecoderType
- setDecoderType
- getDecoderType
- MediaPlayer에서 제거
- 에러 수집 고도화
- 변경 이유: 미디어 정보를 가져오기 전에 에러 발생 시 에러 코드를 수집하기 위함
build.gradle수정implementation 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'KollusStorage초기화 에러 코드 변경ErrorCodes에서 아래 값 제거상수명 값 설명 ERROR_EXPIRED_KEY-2 인증 키 만료 ERROR_INVALID_KEY-1 인증 키 오류 ErrorCodes에서 아래 값 추가상수명 값 설명 ERROR_INCORRECT_PACKAGE_NAME-2103 KollusStorage초기화 시 잘못된PackageName을 제공함ERROR_EXPIRED_AUTH_DATE-2104 KollusStorage초기화 시 사용 기한 만료ERROR_INCORRECT_AUTH_DATE-2105 KollusStorage초기화 시 사용 기한 입력 포맷이 잘못됨ERROR_INCORRECT_AUTH_KEY-2106 KollusStorage초기화 시 인증 키가 잘못됨ERROR_NOT_ENOUGH_AUTH_INFO-2107 KollusStorage초기화 시 인증 정보가 모두 입력되지 않았음- 변경 이유: iOS와 에러 코드 맞춤
- 앱 변경 여부:
KollusStorage.initialize의 에러 코드 값 체크 시 수정된 에러 코드로 체크해야 함
3.0.3
Release Date: 2025-01-14
Added APIs
- 다음 회차 버튼 show/hide 옵션 추가
- KollusContent에 아래 API 추가
/**
* 다음 회차 자동 재생이어도 getNextEpisodeShowTime의 시간 내에 있는 경우 UI 버튼을 보여줄 지 여부를 가져오는 함수
* @return 다음 회 버튼 보여줄지 여부(true:보여줌, false:숨김)
*/
public boolean isNextEpisodeShowButton(); - 변경 이유: 다음 회차 자동 재생 옵션이 활성화된 경우 다음 회차 버튼이 표시되지 않는데, 버튼 표시를 원하는 고객 요구사항 반영. SDK 사용하는 고객사는 직접 구현해도 무방합니다.
- 영향 범위: 없음(해당 flag 값을 필요로 하는 고객사에만 적용 필요)
- 앱 변경 여부: 없음(해당 flag 값을 필요로 하는 고객사에만 적용 필요)
- KollusContent에 아래 API 추가
Added Features
- 콘텐츠별 미디어인포 복호화 키 적용
- 변경 이유: 보안강화
- 영향 범위: 없음
- 앱 변경 여부: 없음
- Multi DRM 콘텐츠 다음 회차 재생 기능 지원
- 변경 이유: 기능추가
- 영향 범위: Multi DRM 콘텐츠 사용고객
- 앱 변경 여부: 없음
Fixed
- onDetectDebuggingMode를 사용하여 앱 종료 시 1분 후에 앱 크래시 되는 현상 수정
- 변경 이유: 버그 수정
- 영향 범위: 해당 API를 사용하여 앱을 종료하는 고객
- 앱 변경 여부: 있음
3.0.2
Release Date: 2024-11-07
Added APIs
- KollusContent에 public boolean isIgnoreZero() 추가
- 재생 URL의 Query parameter로 전달된 ign_z flag의 값을 반환합니다. (default: false)
- 변경 이유: 이어보기 정보가 앞뒤로 일정 시간 미만이면(Kollus 플레이어는 10초 미만) 처음부터 재생하는 시나리오를 무시하고 이어보기를 원하는 고객사의 요구로 추가
- 영향 범위: 없음(해당 flag 값을 필요로 하는 고객사에만 적용 필요)
- 앱 변경 여부: 없음(해당 flag 값을 필요로 하는 고객사에만 적용 필요)
Changed Features
- Kollus DRM 및 콘텐츠 보안 강화
- 변경 이유: Kollus 보안 강화
- 영향 범위: Kollus 사용 고객 (V/G 암호화 버전 업그레이드 및 DRM 암/복호화 모듈 업데이트)
- 앱 변경 여부: 없음
Fixed
- AI배속 안되는 현상 수정
- 변경 이유: media3부터 발생하는 버그 수정
- 영향 범위: AI배속 기능 사용 고객
- 앱 변경 여부: 없음
- 아래와 같은 Google의 앱 취약성 경고 대응
- 앱에 암시적인 내부 인텐트 취약성이 있습니다.
com.teruten.mcm.module.a0.F - 변경 이유: Google 앱 취약성 경고로 인한 모듈 업데이트
- 영향 범위: Google Play Console에서 해당 경고 발생시 업데이트 필요
- 앱 변경 여부: 없음
- 앱에 암시적인 내부 인텐트 취약성이 있습니다.
3.0.1
Release Date: 2024-09-11
Added APIs
- MediaPlayer에 API 추가
/**
* LMS 데이터를 보낼 때 앱상태가 background 또는 foreground될 때의 시간도 같이 보내기 위해 앱 상태가 변경되는 시점을 저장하는 함수
* LMS Callback 설정에 {APP_STATUS_JSON}를 추가한 경우 유효합니다.
* @param status 앱 상태
*/
public void setAppStatus(@APP_STATUS int status); // 1: background, 2: foreground- 변경 이유: 백그라운드에 사용자가 머물러 있는 시간을 계산하기 위한 기능 추가
- 영향 범위: 신규 API이므로 영향 없음
- 앱 변경 여부: 필요 없음
Fixed
- Seek 중에 종료 시 NullPointerException 대응(Google Play Console의 vitals 대응)
- 변경 이유: SDK 3.0.0에서 확인된 버그 fix
- 영향 범위: SDK 3.0.0을 적용한 앱의 경우 영향 발생, 3.0.1 적용 필수
- 앱 변경 여부: 필요 없음
3.0.0
Release Date: 2024-08-29
Changed APIs
- KollusStorage의 setDevice/setDeviceASync 변경
- 변경 사유: 자체 플레이어 ID 사용을 원하는 요구 사항으로 인해 변경
- 변경 전
public int setDevice(String storagePath, String playerId, String playerIdMd5, boolean bTablet);
public void setDeviceASync(String storagePath, String playerId, String playerIdMd5, boolean bTablet, OnKollusStorageDeviceListener listener); - 변경 후
public int setDevice(String storagePath, boolean bTablet);
public void setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener);