FairPlay iOS SDK 가이드
개요
도브러너 FairPlay iOS SDK는 iOS용 미디어 서비스 앱을 개발할 때 Apple의 FairPlay Streaming (FPS) DRM을 쉽게 적용할 수 있게 해주는 제품입니다. 본 문서는 SDK에 포함된 라이브러리와 샘플 프로젝트의 사용법에 대해 설명합니다.
FPS 클라이언트와 연동되는 도브러너 멀티 DRM 서비스에 대한 설명은 라이선스 토큰 가이드를 참고하시기 바랍니다. SDK 사용과 관련한 기술 문의는 헬프데스크 사이트를 이용해 주시기 바랍니다.
해당 SDK 제품은 도브러너 깃허브 저장소에서 다운로드 받을 수 있습니다. 트라이얼 계정에서는 라이선스 발급 수 제한 내에서 자유롭게 SDK 제품을 테스트할 수 있으나, 상용 서비스에 SDK를 적용하기 위해서는 도브러너 상용 서비스 가입 시 SDK 사용 권한이 포함된 요금제로 신청해야 합니다.
지원 환경
- iOS 13.0 이상
선행 사항
FPS License 발급 연동을 구축 하기 위해서는 콘텐츠 서비스 측에서 Apple로부터 아래 정보를 발급 받아 도브러너 멀티DRM 서비스에 설정해 주어야 합니다.
- Apple 개발자 계정 생성 ( https://developer.apple.com/support/enrollment/ )
- Apple에
FPS Deployment Package
신청 ( https://developer.apple.com/streaming/fps/ ) Deployment Package
를 이용해 생성한 다음 4가지 정보를 도브러너 콘솔 사이트의연동 설정
에 등록
- FPS Certificate 파일 (.der or .cer)
- Private key 파일 (.pem)
- Private key 암호 문자열
- Application secret key (ASK) 문자열
NOTE:
위 등록 과정에 대한 상세한 설명은 FairPlay 인증서 등록 자습서를 참고하시기 바랍니다.
동영상 튜토리얼
FPS SDK를 iOS 앱에 적용하여 DRM 콘텐츠를 재생하는 튜토리얼 영상입니다.
최적의 재생을 위해 화면 품질을 ‘1080p’로 선택하고 자막(한글 또는 영문)을 선택하여 재생하시기 바랍니다.
프로젝트 설정
다음과 같은 과정으로 도브러너 FPS SDK를 개발 프로젝트에 추가할 수 있습니다.
- Github 저장소에서 다운로드 받은 도브러너 FPS iOS SDK 파일의 압축을 풉니다.
lib
폴더에 포함된PallyConFPSSDK.xcframework
라이브러리를 프로젝트에 추가합니다.
- 프로젝트 TARGETS의
General
탭에Linked Frameworks and Libraries
에 프레임웍을 추가합니다. - 프로젝트 TARGETS의
Build Settings
탭에Framework Search Paths
프레임웍 경로를 넣습니다.
- ‘Advanced Sample’을 빌드하기 위해서는 GoogleCast Framework가 필요합니다.
- COCOAPODS를 이용하여 GoogleCast.framework를 설치(pod install)하고, 생성된
PallyConFPSAdvanced.xcworkspace
를 실행합니다.
퀵 스타트
도브러너 FPS SDK를 이용하여 FPS HLS 콘텐츠를 스트리밍 재생하거나 다운로드하는 방법은 아래 코드와 같습니다.
콘텐츠 재생
// 1. PallyConFPS SDK 객체 생성합니다.
let pallyconSdk = PallyConFPSSDK()
let urlAsset = AVURLAsset(url: "Content Url(m3u8)")
// 2. FPS 콘텐츠를 재생하기 전에 Token 정보를 설정하여 라이선스를 획득 준비를 합니다.
let config = PallyConDrmConfiguration(avURLAsset: urlAsset,
contentId: "ContentID",
certificateUrl: "Apple Certification URL",
authData: "Token or CustomData")
pallyconSdk.prepare(Content: config)
콘텐츠 다운로드
// 1. PallyConFPS SDK 객체 생성합니다.
let pallyconSdk = PallyConFPSSDK()
let urlAsset = AVURLAsset(url: "Content Url(m3u8)")
let config = PallyConDrmConfiguration(avURLAsset: urlAsset,
contentId: "ContentID",
certificateUrl: "Apple Certification URL",
authData: "Token or CustomData")
// 2. FPS 콘텐츠 다운로드를 위해 DownloadTask 객체를 생성하고 라이선스 획득 준비를 합니다.
let downloadTask = pallyconSdk.createDownloadTask(Content: config,
downloadDelegate:"PallyConFPSDownloadDelegate")
// 3. 콘텐츠 다운로드 시작
// 이전에 다운로드 중단된 콘텐츠일 경우, 해당 콘텐츠를 이어서 받습니다.
downloadTask.resume()
// 4. 콘텐츠 다운로드 취소 (필요 시)
downloadTask.cancel()
크롬캐스트 재생을 위한 CustomData 만들기
// 크롬캐스트 SDK 를 사용할 때 'GCKMediaInformation' 객체를 만들기 위해 필요한 CustomData 가져오기
// CustomData 는 반드시 PallyConFPS 객체를 사용해서 생성해야만 합니다.
let customData = pallyconSdk.getCustomDataForChromcast(userId: "User ID", contentId: "Content ID", optionalId: "Optional ID")
/**
콘텐츠 정보가 아닌 토큰을 사용하는 경우, 토큰 정보를 설정하여 아래 메소드를 호출합니다.
let customData = pallyconSdk.getCustomDataForChromcast(token: "Token String")
*/
API 레퍼런스 문서
도브러너 FPS iOS SDK에서 제공하는 모든 API에 대한 설명은 SDK 파일에 포함된 API 레퍼런스 문서를 참고하시기 바랍니다.