Skip to main content

KollusStorage

KollusStorage Class

#import <KollusStorage.h>

콘텐츠 다운로드·저장·삭제·조회를 관리하는 클래스입니다.

Instance Methods

반환 타입메서드
BOOLsetKollusPath:
BOOLstartStorage:
BOOLstartStorageWithFirst:error:
BOOLstartStorageWithCheck:
BOOLstartStorageWithNewPlayerID:
NSString *loadContentURL:error:
NSString *checkContentURL:error:
BOOLdownloadContent:error:
BOOLremoveContent:error:
BOOLremoveCacheWithError:
BOOLdownloadCancelContent:error:
voidsetNetworkTimeOut:retry:
voidupdateDownloadDRMInfo:
voidsetCacheSize:
voidsetBackgroundDownload:
NSMutableArray *contents
voidsendStoredLms

Properties

속성설명
id<KollusStorageDelegate> delegate다운로드 상태 정보 델리게이트
NSString * applicationVersionKollus SDK 버전
NSString * applicationDeviceIDKollus 플레이어 디바이스 ID
NSString * applicationKeyKollus SDK 인증 키 (카테노이드에서 발급)
NSString * applicationBundleID애플리케이션 Bundle ID (예: com.yourcompany.applicationname)
NSString * keychainGroup키체인 그룹 (예: com.yourcompany.shared)
NSDate * applicationExpireDateKollus SDK 유효날짜 (카테노이드에서 발급)
NSString * storagePathKollus SDK 폴더
long long storageSize다운로드 콘텐츠 총 크기 (bytes)
long long cacheDataSize캐시 데이터 총 크기 (bytes)
NSInteger serverPort하이브리드 앱에서 사용되는 포트 번호
NSString * extraDrmParam동적 DRM 파라미터
NSString * appUserAgentUserAgent
NSString * deviceType디바이스 타입 (kp-mobile, kp-tablet)

Method Details

(NSString*) checkContentURL: (NSString *) URL error: (NSError **) error

전달된 URL에 해당하는 콘텐츠의 다운로드 여부와 미디어 콘텐츠 키(MCK)를 확인합니다.

파라미터설명
URL콘텐츠 URL
error에러 상세
  • 반환값: 다운로드된 콘텐츠가 있는 경우, 콘텐츠의 media content key
(NSMutableArray*) contents

다운로드 콘텐츠 정보 배열

(BOOL) downloadCancelContent: (NSString *) mediaContentKey error: (NSError **) error

콘텐츠 다운로드 중지

파라미터설명
mediaContentKey다운로드를 중지할 콘텐츠 키
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) downloadContent: (NSString *) mediaContentKey error: (NSError **) error

콘텐츠 다운로드 (콘텐츠 인덱스로 다운로드)

파라미터설명
mediaContentKey다운로드 할 콘텐츠 키
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(NSString *) loadContentURL: (NSString *) URL error: (NSError **) error

콘텐츠 다운로드 초기화

파라미터설명
URL다운로드 초기화 할 콘텐츠 URL
error에러 상세
  • 반환값: 초기화 완료된 콘텐츠 키 (mediaContentKey)
(BOOL) removeCacheWithError: (NSError **) error

스트리밍 콘텐츠 캐시데이터 삭제

파라미터설명
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) removeContent: (NSString *) mediaContentKey error: (NSError **) error

특정 콘텐츠 삭제

파라미터설명
mediaContentKey삭제할 콘텐츠 키
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(void) sendStoredLms

미전송된 LMS data 전송

(void) setBackgroundDownload: (BOOL) bBackground

스토리지 콘텐츠의 백그라운드 다운로드 사용 여부를 설정합니다.

파라미터설명
bBackgroundYES: 백그라운드 다운로드 활성화, NO: 비활성화
(void) setCacheSize: (NSInteger) cacheSizeMB

스토리지 캐시 크기 설정

파라미터설명
cacheSizeMB스트리밍 콘텐츠 캐시 크기 (MB)
(void) setNetworkTimeOut: (NSInteger) timeOut retry: (NSInteger) retryCount

스토리지 네트워크 Timeout 설정

파라미터설명
timeOutTimeout 값 (sec)
retryCount재시도 횟수
(BOOL) setKollusPath: (NSString *)path

스토리지 폴더 설정

⚠️ 주의: 이 메서드는 신규 앱에서만 사용해야 합니다. 그렇지 않으면 기존에 다운로드된 콘텐츠를 볼 수 없습니다. startStorage 호출 전에 사용해야 합니다. 기본 경로는 Document 폴더입니다.

파라미터설명
pathkollus sdk에서 사용하는 폴더
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) startStorage: (NSError **) error

KollusStorage 시작

⚠️ 주의: 이 메서드를 호출하지 않으면 콘텐츠 정보 배열(contents)이 nil로 반환됩니다.

파라미터설명
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) startStorageWithCheck: (NSError **) error

KollusStorage 시작

⚠️ 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(contentsCount)가 0으로 반환됩니다.
키체인에서 플레이어 ID 획득에 실패한 경우, 최초 실행이면 새로 생성하여 처리하고, 최초 실행이 아니면 세 번 요청 모두 실패 시 에러 처리됩니다.

파라미터설명
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) startStorageWithFirst: (BOOL) first error: (NSError **) error

KollusStorage 시작

⚠️ 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(contentsCount)가 0으로 반환됩니다.

파라미터설명
first설치 후 최초 실행
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(BOOL) startStorageWithNewPlayerID: (NSError **) error

KollusStorage 시작

⚠️ 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(contentsCount)가 0으로 반환됩니다.
이 메서드는 플레이어 ID를 새로 생성하여 키체인에 등록하고 사용합니다.

파라미터설명
error에러 상세
  • 반환값
    • YES: 성공
    • NO: 실패
(void) updateDownloadDRMInfo: (BOOL) bAll

DRM 콘텐츠 목록 업데이트

파라미터설명
bAllYES: 모든 콘텐츠 업데이트, NO: 만기된 콘텐츠만 업데이트

Property Details

속성설명
(NSString*) applicationBundleID
[read, write, nonatomic, copy]
애플리케이션 Bundle ID(ex:com.yourcompany.applicationname)
(NSString*) applicationDeviceID
[read, nonatomic, copy]
Kollus 플레이어 디바이스 ID
(NSDate*) applicationExpireDate
[read, write, nonatomic, copy]
Kollus SDK 유효 날짜 (카테노이드에서 발급)
(NSString*) storagePath
[readonly, nonatomic, copy]
Kollus SDK 폴더
(NSString*) applicationKey
[read, write, nonatomic, copy]
Kollus SDK 인증 키 (카테노이드에서 발급)
(NSString*) applicationVersion
[read, nonatomic, copy]
Kollus SDK 버전
(NSString*) appUserAgent
[read, nonatomic, copy]
UserAgent
(long long) cacheDataSize
[read, nonatomic, unsafe_unretained]
캐시 데이터 총 크기 (bytes)
(id<KollusStorageDelegate>) delegate
[read, write, nonatomic, weak]
다운로드 상태정보 델리게이트
(NSString*) deviceType
[read, nonatomic, copy]
디바이스 유형 (kp-mobile, kp-tablet)
(NSString*) extraDrmParam
[read, write, nonatomic, copy]
동적 DRM 파라미터
(NSString*) keychainGroup
[read, write, nonatomic, copy]
키체인 그룹 (ex: com.yourcompany.shared)
(NSInteger) serverPort
[read, write, nonatomic, assign]
하이브리드 앱에서 사용되는 포트 번호
(long long) storageSize
[read, nonatomic, unsafe_unretained]
다운로드 콘텐츠 총 크기 (bytes)

KollusStorageDelegate Protocol

#import <KollusStorageDelegate.h>

다운로드 진행 상태와 DRM 콜백 이벤트를 수신하는 프로토콜입니다.

Instance Methods

반환 타입메서드
voidkollusStorage:downloadContent:error:
voidkollusStorage:request:json:error:
voidkollusStorage:cur:count:error:
voidkollusStorage:lmsData:resultJson:
voidonSendCompleteStoredLms:failCount:

Method Details

(void) kollusStorage: (KollusStorage *) kollusStorage cur: (int) cur count: (int) count error: (NSError *) error

DRM 콘텐츠 목록을 일괄 업데이트하는 중 각 콘텐츠 업데이트가 완료될 때 호출됩니다.

파라미터설명
kollusStorageKollusStorage ID
cur현재 항목
count전체 콘텐츠 개수
error에러 정보: nil이 아닌 경우 에러 발생
(void) kollusStorage: (KollusStorage *) kollusStorage downloadContent: (KollusContent *) content error: (NSError *) error

콘텐츠 다운로드 중 상태 변화가 있는 경우 호출됩니다.

파라미터설명
kollusStorageKollusStorage ID
content상태 변화가 있는 콘텐츠 정보
error에러 정보: nil이 아닌 경우 에러 발생
(void) kollusStorage: (KollusStorage *) kollusStorage lmsData: (NSString *) lmsData resultJson: (NSDictionary *) resultJsonLMS

LMS 콜백 처리 후 호출됩니다.

파라미터설명
kollusStorageKollusStorage ID
lmsDataLMS data 정보
resultJsonLMS result 정보
(void) kollusStorage: (KollusStorage *) kollusStorage request: (NSDictionary *) request json: (NSDictionary *) json error: (NSError *) error

DRM 다운로드 콜백 처리 후 호출됩니다.

파라미터설명
kollusStorageKollusStorage ID
requestrequest 정보
jsonresponse 받은 json
error에러 정보: nil이 아닌 경우 에러 발생
(void) onSendCompleteStoredLms: (int) successCount failCount: (int) failCount

미전송 LMS 콜백 완료 후 호출됩니다.

파라미터설명
successCountLMS 전송 성공 횟수
failCountLMS 전송 실패 횟수