KollusStorage
KollusStorage Class
#import <KollusStorage.h>
콘텐츠 다운로드·삭제·조회를 관리하는 클래스입니다.
Instance Methods
(BOOL) setKollusPath:(BOOL) startStorage:(BOOL) startStorageWithFirst:error:(BOOL) startStorageWithCheck:(BOOL) startStorageWithNewPlayerID:(NSString *) loadContentURL:error:(NSString *) checkContentURL:error:(BOOL) downloadContent:error:(BOOL) removeContent:error:(BOOL) removeCacheWithError:(BOOL) downloadCancelContent:error:(void) setNetworkTimeOut:retry:(void) updateDownloadDRMInfo:(void) setCacheSize:(void) setBackgroundDownload:(NSMutableArray *) contents(void) sendStoredLms
Properties
id<KollusStorageDelegate> delegateNSString * applicationVersionNSString * applicationDeviceIDNSString * applicationKeyNSString * applicationBundleIDNSString * keychainGroupNSDate * applicationExpireDateNSString * storagePathlong long storageSizelong long cacheDataSizeNSInteger serverPortNSString * extraDrmParamNSString * appUserAgentNSString * deviceType
Method Details
(BOOL) setKollusPath: (NSString *) path
Kollus SDK가 콘텐츠를 저장할 스토리지 폴더 경로를 설정합니다.
- 주의: 이 메서드는 신규 앱 설치 시에만 사용해야 합니다. 기존 경로를 변경할 경우 이전에 다운로드된 콘텐츠에 접근할 수 없습니다.
startStorage호출 전에 설정되어야 합니다. - 파라미터
path: 콘텐츠가 저장될 경로 (기본값:Document)
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) startStorage: (NSError **) error
KollusStorage를 시작합니다.
- 주의: 이 메서드를 호출하지 않으면 콘텐츠 정보 배열(
contents)이nil로 반환되어 다운로드된 콘텐츠에 접근할 수 없습니다. - 파라미터
error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) startStorageWithFirst: (BOOL) first error: (NSError **) error
KollusStorage를 시작합니다.
- 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(
contentsCount)가 0으로 반환됩니다. 저장된 콘텐츠 목록을 정상적으로 조회하려면 반드시 호출해야 합니다. - 파라미터
first: 앱 설치 후 최초 실행 여부error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) startStorageWithCheck: (NSError **) error
KollusStorage를 시작합니다.
- 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(
contentsCount)가 0으로 반환됩니다. 저장된 콘텐츠 목록을 정상적으로 조회하려면 반드시 호출해야 합니다. - 플레이어 ID 처리 로직
- 최초 실행 시: 키체인에 플레이어 ID가 없으면 새 ID를 생성하여 등록합니다.
- 재실행 시: 키체인에서 ID 획득을 시도하며, 총 3회 연속 실패할 경우 에러를 반환합니다.
- 파라미터
error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) startStorageWithNewPlayerID: (NSError **) error
KollusStorage를 시작합니다.
- 주의: 이 메서드를 호출하지 않으면 콘텐츠 개수(
contentsCount)가 0으로 반환됩니다. 저장된 콘텐츠 목록을 정상적으로 조회하려면 반드시 호출해야 합니다. 플레이어 ID를 새로 생성하여 키체인에 등록하므로, 기존 ID에 종속된 데이터 활용 시 주의가 필요합니다. - 파라미터
error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(NSString *) loadContentURL: (NSString *) URL error: (NSError **) error
콘텐츠 다운로드를 초기화합니다.
- 파라미터
URL: 콘텐츠 URLerror: 에러 상세
- 반환값: 미디어 콘텐츠 키
(NSString*) checkContentURL: (NSString *) URL error: (NSError **) error
전달된 URL에 해당하는 콘텐츠의 다운로드 여부와 미디어 콘텐츠 키를 확인합니다.
- 파라미터
URL: 콘텐츠 URLerror: 에러 상세
- 반환값: 다운로드된 콘텐츠가 있는 경우 미디어 콘텐츠 키, 없는 경우
nil
(BOOL) downloadContent: (NSString *) mediaContentKey error: (NSError **) error
미디어 콘텐츠 키를 사용하여 콘텐츠를 다운로드합니다.
- 파라미터
mediaContentKey: 미디어 콘텐츠 키error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) removeContent: (NSString *) mediaContentKey error: (NSError **) error
특정 콘텐츠를 삭제합니다.
- 파라미터
mediaContentKey: 미디어 콘텐츠 키error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) removeCacheWithError: (NSError **) error
스트리밍 콘텐츠의 캐시 데이터를 삭제합니다.
- 파라미터
error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(BOOL) downloadCancelContent: (NSString *) mediaContentKey error: (NSError **) error
콘텐츠 다운로드를 중지합니다.
- 파라미터
mediaContentKey: 미디어 콘텐츠 키error: 에러 상세
- 반환값: 처리 결과 (
YES: 성공,NO: 실패)
(void) setNetworkTimeOut: (NSInteger) timeOut retry: (NSInteger) retryCount
스토리지 네트워크 Timeout을 설정합니다.
- 파라미터
timeOut: Timeout 값 (sec)retryCount: 재시도 횟수
(void) updateDownloadDRMInfo: (BOOL) bAll
DRM 콘텐츠 목록을 업데이트합니다.
- 파라미터
bAll: 전체 콘텐츠 업데이트 여부 (YES: 전체 콘텐츠 업데이트,NO: 만기된 콘텐츠만 업데이트)
(void) setCacheSize: (NSInteger) cacheSizeMB
스토리지 캐시 크기를 설정합니다.
- 파라미터
cacheSizeMB: 스트리밍 콘텐츠 캐시 크기 (MB)
(void) setBackgroundDownload: (BOOL) bBackground
스토리지 콘텐츠의 백그라운드 다운로드 사용 여부를 설정합니다.
- 파라미터
bBackground: 백그라운드 다운로드 활성화 여부 (YES: 활성화,NO: 비활성화)
(NSMutableArray*) contents
다운로드된 콘텐츠 정보 배열을 반환합니다.
(void) sendStoredLms
미전송된 LMS 데이터를 전송합니다.
Property Details
| 속성 | 설명 |
|---|---|
(id<KollusStorageDelegate>) delegate[read, write, nonatomic, weak] | 다운로드 상태정보 델리게이트 |
(NSString*) applicationVersion[read, nonatomic, copy] | Kollus SDK 버전 |
(NSString*) applicationDeviceID[read, nonatomic, copy] | Kollus 플레이어 디바이스 ID |
(NSString*) applicationKey[read, write, nonatomic, copy] | Kollus SDK 인증 키 (카테노이드에서 발급) |
(NSString*) applicationBundleID[read, write, nonatomic, copy] | 애플리케이션 Bundle ID (예: com.yourcompany.applicationname) |
(NSString*) keychainGroup[read, write, nonatomic, copy] | 키체인 그룹 (예: com.yourcompany.shared) |
(NSDate*) applicationExpireDate[read, write, nonatomic, copy] | Kollus SDK 유효 날짜 (카테노이드에서 발급) |
(NSString*) storagePath[readonly, nonatomic, copy] | Kollus SDK 폴더 |
(long long) storageSize[read, nonatomic, unsafe_unretained] | 다운로드 콘텐츠의 총 용량 (bytes) |
(long long) cacheDataSize[read, nonatomic, unsafe_unretained] | 스트리밍 캐시 데이터의 총 용량 (bytes) |
(NSInteger) serverPort[read, write, nonatomic, assign] |