PallyCon NCG 안드로이드 SDK 튜토리얼

[PallyCon NCG 안드로이드 SDK 동영상 튜토리얼] 이 동영상은 안드로이드용 동영상 서비스 앱 개발자를 대상으로 하는 SDK 튜토리얼입니다 NCG DRM으로 보호된 동영상을 재생하기위해 필요한 PallyCon NCG Android SDK의 샘플 프로젝트 사용법을 설명합니다

우선 PallyCon 콘솔 사이트에서 다운받은 SDK 파일을 압축 해제합니다 SDK의 'Sample' 폴더에는 'Simple' 버전과 'Advanced' 버전의 샘플 프로젝트가 있습니다 이 동영상 튜토리얼에서는 SDK의 기본 기능을 간단하게 실행해 볼 수 있는 Simple 버전을 사용합니다 Android Studio를 실행해 Simple 프로젝트를 오픈합니다 Gradle 플러그인의 업데이트 알림 창이 표시되면, '이 프로젝트에 대해서는 알리지 않음'을 선택합니다

Simple 프로젝트는 MainActivityjava 소스에서 SDK 설정과 동영상 플레이어 처리를 모두 구현합니다 코드를 추가하기 전에, 먼저 Gradle 빌드 스크립트에서 Module:app 세팅을 확인합니다 jar 파일로 구성된 NCG DRM 라이브러리와 동영상 재생을 위한 ExoPlayer 라이브러리가 적용되어 있습니다 실제 개발하실 서비스 앱에도 동일하게 라이브러리 빌드 세팅이 적용되어야 합니다

튜토리얼에서는 ExoPlayer 관련 기본 샘플 코드에 NCG DRM 콘텐츠 재생에 필요한 코드를 단계적으로 추가합니다 실제 다운로드 받으시는 SDK에는 튜토리얼 최종 단계에서 완성되는 전체 샘플 코드가 포함되어 있습니다 Simple 버전 샘플 프로젝트에서는 MainActivityjava 소스의 initializePlayer() 함수에서 모든 연동 작업이 구현됩니다 initializePlayer() 함수에 적용되는 코드는 크게 세 가지 부분으로 이루어집니다

1단계에서는 NCG SDK 라이브러리를 초기화합니다 다음과 같은 코드를 입력하여 NCG SDK 라이브러리를 초기화합니다 우선 SDK 라이브러리의 API를 이용해 Ncg2Agent 객체를 가져옵니다 'OfflineSupportPolicy'는 오프라인 환경에서 DRM 콘텐츠 재생 지원 여부에 대한 옵션입니다 적용할 콘텐츠 서비스의 정책에 따라 해당 옵션을 설정하고 init 함수에 입력합니다

에러 처리를 위해 try-catch 문을 적용합니다 2단계에서는 재생할 DRM 콘텐츠의 라이선스를 획득합니다 DRM 라이선스 획득을 위해 'acquireLicenseByPath' 함수를 이용하겠습니다 데모용 콘텐츠 외에 다른 콘텐츠를 테스트하려면 우선 패키져 연동을 통해 별도로 패키징된 콘텐츠가 준비되어야 합니다 콘텐츠 패키징 과정을 통해 준비된 DRM 콘텐츠 정보(

ncg 파일 URL)를 'contentUrl'로 입력합니다 userID는 동영상 서비스의 최종 사용자에 대한 고유 ID 값입니다 DRM 라이선스 연동을 통해 재생 권한이 주어진 사용자 ID를 입력합니다 마지막 파라미터는 부가적인 연동 정보를 위한 'optional ID'로, 본 튜토리얼에서는 사용하지 않습니다 마지막 3단계에서는 라이선스가 획득된 DRM 콘텐츠를 재생합니다

NCG DRM 라이브러리는 내부의 로컬 웹 서버를 이용해 DRM 콘텐츠를 복호화하고 재생합니다 'getLocalWebServer' 함수를 이용하여 DRM 콘텐츠를 재생하기 위한 로컬 웹 서버 객체를 가져옵니다 튜토리얼에서는 원격 주소의 mp4ncg 영상을 다운받으며 재생하는 Progressive Download 방식으로 재생해 보겠습니다 PD 방식 외에 지원되는 각종 재생 시나리오에 대해서는 Advanced 샘플과 SDK 가이드 문서를 참고하시기 바랍니다

여기까지 설정이 되었으면 NCG DRM 콘텐츠를 재생할 준비가 완료된 것입니다 playbackUrl을 ExoPlayer의 MediaSource로 입력해 재생합니다 'Uriparse' 함수를 이용해 URL 문자열을 Uri 객체로 변환한 후에 MediaSource에 입력합니다 이제 앱을 빌드해서 안드로이드 기기에서 실행해 보겠습니다

안드로이드 에뮬레이터에서는 DRM 라이브러리가 정상 동작하지 않을 수 있습니다 실제 기기에서 테스트해 주시기 바랍니다 연결된 기기에서 샘플 앱을 실행하면, 소스 코드에 입력한 DRM 콘텐츠에 대한 라이선스 요청이 이루어진 후 콘텐츠가 재생됩니다 이상으로 PallyCon NCG Android SDK에 대한 튜토리얼을 마치겠습니다 추가 정보는 영상 소개의 링크를 참고하시기 바랍니다