본문으로 건너뛰기

KollusStorage

KollusStorage Class

com.kollus.sdk.media.KollusStorage

콘텐츠의 다운로드, 캐시 관리, DRM 정보 업데이트 및 각종 이벤트 리스너를 총괄하는 스토리지 관리 클래스입니다.

Interfaces

  • interface DrmSessionManagerListener
  • interface OnKollusStorageDeviceListener
  • interface OnKollusStorageListener

Public Methods

  • KollusStorage(Context context)
  • void cancelLoad()
  • int checkLiveStream(String url)
  • void clearCache()
  • String decrypt(String encData)
  • int download(String mediaContentKey)
  • void finish()
  • ArrayList<KollusContent> getDownloadContentList()
  • KollusContent getDownloadKollusContent(String path)
  • boolean getKollusContent(KollusContent content, String mediaContentKey) throws IllegalStateException
  • String getLastError()
  • long getNativeInstance()
  • String getRootPath()
  • long getUsedSize(int type)
  • String getVersion()
  • int initialize(String key, String expireDate, String packageName)
  • boolean isReady()
  • int load(String path, String extraDrmParam, KollusContent content)
  • void registerDrmSessionManagerListenerList(DrmSessionManagerListener listener)
  • void registerKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)
  • void registerKollusPlayerDRMListener(KollusPlayerDRMListener listener)
  • void registerKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)
  • void registerKollusStorageListener(OnKollusStorageListener listener)
  • synchronized void releaseInstance()
  • int remove(String mediaContentKey)
  • void removeDrmSessionManagerListenerList(DrmSessionManagerListener listener)
  • void sendStoredLMS(StoredLMSListener listener)
  • void setCacheSize(int cacheSizeMB)
  • int setDevice(String storagePath, boolean bTablet)
  • void setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener)
  • void setNetworkTimeout(int timeout, int retryCount)
  • int unload(String mediaContentKey)
  • void unregisterKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)
  • void unregisterKollusPlayerDRMListener(KollusPlayerDRMListener listener)
  • void unregisterKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)
  • void unregisterKollusStorageListener(OnKollusStorageListener listener)
  • void updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, boolean bAll)
  • void updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, ArrayList<String> mckList)

Static Public Methods

  • static synchronized KollusStorage getInstance(Context context)

Static Public Properties

  • static final int TYPE_CACHE = 0
  • static final int TYPE_DOWNLOAD = 1
  • static final int TYPE_ALL = 2

Protected Methods

  • int downloadFile(String srcPath, String dstPath)
  • int downloadThumbnail(String srcPath, String dstPath)
  • String getCallback(String customer, String callbackUrl, String postData)
  • String getMediaInfoJson(Uri uri)
  • String getNoKollusDownloadPath()
  • String getNoKollusStreamPath()
  • void registerKollusPlayerLMSListener(KollusPlayerLMSListener listener)
  • void sendCallback(String customer, String url)
  • void unregisterKollusPlayerLMSListener(KollusPlayerLMSListener listener)

Method Details

void com.kollus.sdk.media.KollusStorage.cancelLoad()

현재 진행 중인 로드(Load) 작업을 중단합니다. 다운로드 취소 시 해당 메서드 호출 후 unload를 수행해야 합니다.

int com.kollus.sdk.media.KollusStorage.checkLiveStream(String url)

해당 경로가 현재 라이브 방송 주소인지 확인합니다.

파라미터타입설명
urlString방송 URL
  • 반환값: 라이브 여부 확인 코드
void com.kollus.sdk.media.KollusStorage.clearCache()

스트리밍 재생 시 사용된 임시 캐시 데이터를 모두 삭제합니다. (다운로드 콘텐츠는 삭제되지 않습니다.)

int com.kollus.sdk.media.KollusStorage.download(String mediaContentKey)

로드된 콘텐츠의 미디어 콘텐츠 키를 이용해 다운로드를 시작합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.finish()

Native 영역의 스토리지 자원을 회수합니다.

ArrayList<KollusContent> com.kollus.sdk.media.KollusStorage.getDownloadContentList()

현재 다운로드된 전체 콘텐츠 리스트를 반환합니다.

  • 반환값: 다운로드된 콘텐츠 리스트
KollusContent com.kollus.sdk.media.KollusStorage.getDownloadKollusContent(String path)

지정된 경로에 해당하는 다운로드 콘텐츠 정보를 조회합니다.

  • 반환값: 콘텐츠 정보
static synchronized KollusStorage com.kollus.sdk.media.KollusStorage.getInstance(Context context)

KollusStorage의 싱글톤 인스턴스를 반환합니다.

파라미터타입설명
contextContext애플리케이션 컨텍스트
  • 반환값: KollusStorage 인스턴스
boolean com.kollus.sdk.media.KollusStorage.getKollusContent(KollusContent content, String mediaContentKey) throws IllegalStateException

미디어 콘텐츠 키를 통해 특정 콘텐츠 정보를 획득합니다.

  • 파라미터
    파라미터설명
    content정보를 담을 빈 객체
    mediaContentKey미디어 콘텐츠 키
  • 반환값: 정보 획득 성공 여부
String com.kollus.sdk.media.KollusStorage.getLastError()

마지막으로 발생한 에러의 메시지를 반환합니다.

  • 반환값: 에러 메시지
String com.kollus.sdk.media.KollusStorage.getMediaInfoJson(Uri uri)

Internal SDK Only  지정된 URI의 미디어 정보를 JSON 형태로 조회합니다.

파라미터타입설명
uriUri미디어 URI
  • 반환값: 미디어 정보 (JSON 데이터)
long com.kollus.sdk.media.KollusStorage.getNativeInstance()

Native 영역에서 관리되는 KollusStorage 엔진의 실제 인스턴스 핸들(포인터) 값을 반환합니다.

  • 반환값: Native 인스턴스 주소 값 (Handle)
String com.kollus.sdk.media.KollusStorage.getRootPath()

현재 설정된 콘텐츠 저장 루트 경로를 반환합니다.

  • 반환값: 현재 설정된 저장 위치 경로
long com.kollus.sdk.media.KollusStorage.getUsedSize(int type)

지정된 데이터 타입의 총 사용 용량을 조회합니다.

  • 파라미터
    파라미터타입설명
    typeint
    • TYPE_CACHE(0): 스트리밍 재생 시 생성된 캐시 용량
    • TYPE_DOWNLOAD(1): 로컬에 저장된 다운로드 콘텐츠 총 용량
    • TYPE_ALL(2): 모든 타입의 총 용량
  • 반환값: 현재 사용 중인 총 용량
String com.kollus.sdk.media.KollusStorage.getVersion()

SDK 라이브러리의 버전 정보를 반환합니다.

  • 반환값: SDK 버전
int com.kollus.sdk.media.KollusStorage.initialize(String key, String expireDate, String packageName)

SDK 라이브러리를 초기화합니다.

파라미터타입설명
keyString발급받은 키
expireDateString만료일 (YYYY/MM/DD)
packageNameString앱 패키지 이름
boolean com.kollus.sdk.media.KollusStorage.isReady()

스토리지 매니저가 사용 가능한 상태(Device 설정 완료)인지 확인합니다.

  • 반환값
    • true: 사용 가능
    • false: 사용 불가
int com.kollus.sdk.media.KollusStorage.load(String path, String extraDrmParam, KollusContent content)

다운로드할 콘텐츠 정보를 로드합니다.

파라미터타입설명
pathString다운로드할 콘텐츠 경로
extraDrmParamString동적 DRM 다운로드 콜백 / 플레이 콜백 인자
contentKollusContent정보를 담을 객체
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)

KollusPlayerCallbackListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerCallbackListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerDRMListener(KollusPlayerDRMListener listener)

KollusPlayerDRMListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerDRMListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerLMSListener(KollusPlayerLMSListener listener)

KollusPlayerLMSListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerLMSListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)

KollusPlayerThumbnailListener를 등록합니다.

파라미터타입설명
listenerKollusPlayerThumbnailListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.registerKollusStorageListener(OnKollusStorageListener listener)

OnKollusStorageListener를 등록합니다.

파라미터타입설명
listenerOnKollusStorageListener이벤트를 처리할 리스너 인스턴스
synchronized void com.kollus.sdk.media.KollusStorage.releaseInstance()

사용 중인 KollusStorage 인스턴스 자원을 명시적으로 해제합니다.

int com.kollus.sdk.media.KollusStorage.remove(String mediaContentKey)

로컬에 저장된 다운로드 콘텐츠를 삭제합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.sendStoredLMS(StoredLMSListener listener)

네트워크 문제 등으로 미처 전송하지 못한 로컬 저장 LMS 데이터를 일괄 전송합니다.

파라미터타입설명
listenerStoredLMSListener이벤트를 처리할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.setCacheSize(int cacheSizeMB)

스트리밍 시 사용할 캐시 메모리 크기를 설정합니다. setDevice 또는 setDeviceASync 호출 전에 설정해야 합니다.

파라미터타입설명
cacheSizeMBint캐시 크기 (MB)
int com.kollus.sdk.media.KollusStorage.setDevice(String storagePath, boolean bTablet)

스토리지 루트 경로와 디바이스 유형을 설정합니다.

파라미터타입설명
storagePathString스토리지 매니저가 사용할 루트 경로
bTabletboolean태블릿 여부 (true: 태블릿)
void com.kollus.sdk.media.KollusStorage.setDeviceASync(String storagePath, boolean bTablet, OnKollusStorageDeviceListener listener)

스토리지 설정을 비동기 방식으로 수행합니다.

파라미터타입설명
storagePathString스토리지 매니저가 사용할 루트 경로
bTabletboolean태블릿 여부 (true: 태블릿)
listenerOnKollusStorageDeviceListener설정 완료를 수신할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.setNetworkTimeout(int timeout, int retryCount)

네트워크 Timeout 시간과 재시도 횟수를 설정합니다.

파라미터타입설명
timeoutint제한 시간 (sec)
retryCountintTimeout 발생 시 재시도 횟수
int com.kollus.sdk.media.KollusStorage.unload(String mediaContentKey)

로드된 인덱스를 해제합니다. 다운로드 취소 시 cancelLoad 후 호출합니다.

파라미터타입설명
mediaContentKeyString미디어 콘텐츠 키
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerCallbackListener(KollusPlayerCallbackListener listener)

KollusPlayerCallbackListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerCallbackListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerDRMListener(KollusPlayerDRMListener listener)

KollusPlayerDRMListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerDRMListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerLMSListener(KollusPlayerLMSListener listener)

KollusPlayerLMSListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerLMSListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusPlayerThumbnailListener(KollusPlayerThumbnailListener listener)

KollusPlayerThumbnailListener를 해제합니다.

파라미터타입설명
listenerKollusPlayerThumbnailListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.unregisterKollusStorageListener(OnKollusStorageListener listener)

OnKollusStorageListener를 해제합니다.

파라미터타입설명
listenerOnKollusStorageListener해제할 리스너 인스턴스
void com.kollus.sdk.media.KollusStorage.updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, boolean bAll)

모든 콘텐츠 또는 만료된 콘텐츠의 DRM 정보를 일괄 업데이트합니다.

파라미터타입설명
listenerKollusPlayerDRMUpdateListener업데이트 진행 상태 및 결과 수신용 인터페이스 인스턴스
bAllboolean업데이트 범위 설정값 (true: 전체 콘텐츠, false: 만료된 콘텐츠 한정)
void com.kollus.sdk.media.KollusStorage.updateDownloadDRMInfo(KollusPlayerDRMUpdateListener listener, ArrayList<String>  mckList)

특정 미디어 콘텐츠 키 리스트에 해당하는 콘텐츠들의 DRM을 업데이트합니다.

파라미터타입설명
listenerKollusPlayerDRMUpdateListener업데이트 진행 상태 및 결과 수신용 인터페이스 인스턴스
mckListArrayList<String>업데이트 대상 미디어 콘텐츠 키 리스트

Property Details

속성설명
TYPE_CACHE0스트리밍 재생 시 생성되는 캐시 데이터
TYPE_DOWNLOAD1로컬 저장소에 저장되는 다운로드 콘텐츠 데이터
TYPE_ALL2모든 타입의 데이터 (캐시 + 다운로드)

OnKollusStorageDeviceListener Interface

com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener

setDeviceASync 메서드 호출을 통한 스토리지 디바이스 설정 프로세스의 진행 상태를 수신하는 인터페이스입니다.

Public Methods

  • void onDeviceSettingEnd()
  • void onDeviceSettingError(int nErrorCode)
  • void onDeviceSettingStart()

Method Details

void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingEnd()

디바이스 설정 및 초기화 프로세스가 성공적으로 완료된 시점에 호출됩니다.

void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingError(int nErrorCode)

디바이스 설정 과정 중 오류가 발생했을 때 호출됩니다. (예: 지정된 경로에 필수 디렉터리 생성 권한이 없거나 저장 공간이 부족한 경우)

파라미터타입설명
nErrorCodeint발생한 오류의 식별 코드
void com.kollus.sdk.media.KollusStorage.OnKollusStorageDeviceListener.onDeviceSettingStart()

디바이스 설정 프로세스가 시작된 시점에 호출됩니다.


OnKollusStorageListener Interface

com.kollus.sdk.media.KollusStorage.OnKollusStorageListener

콘텐츠 다운로드 프로세스의 상태 변화(진행 중, 완료, 오류 발생) 이벤트를 수신하는 인터페이스입니다.

Public Methods

  • void onComplete(KollusContent content)
  • void onError(KollusContent content, int errorCode)
  • void onProgress(KollusContent content)

Method Details

void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onComplete(KollusContent content)

콘텐츠의 모든 데이터가 로컬 스토리지에 성공적으로 저장된 시점에 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보
void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onError(KollusContent content, int errorCode)

다운로드 과정 중 예기치 않은 오류가 발생하여 중단된 시점에 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보
errorCodeint에러 코드
void com.kollus.sdk.media.KollusStorage.OnKollusStorageListener.onProgress(KollusContent content)

다운로드가 진행되는 동안 주기적으로 호출됩니다.

파라미터타입설명
contentKollusContent콘텐츠 정보