Developers
웹 서비스와 모바일 앱에
보안 재생을 연동하는 방법
PlaynPlay는 웹 페이지에서 PlaynPlay App을 실행하는 Web-to-App 방식과 Android·iOS 앱에 SDK를 넣는 In-App 방식을 모두 지원합니다. 회원, 결제, 강의 구조는 지금 쓰는 서비스에 그대로 두고 재생 구간만 PlaynPlay로 바꿉니다.
최종 수정
PlaynPlay를 이루는 구성 요소
플레이어, 관리 콘솔, 패키징 도구, 인증 서버가 역할을 나눠 맡고, CDNetworks 고객사에는 전용 연동 경로가 있습니다.
-
Desktop
PlaynPlay App
Windows 10 이상, macOS 11 이상에 설치하는 데스크톱 플레이어입니다. 스트리밍 재생, 배속·구간 반복·워터마크, 화면 녹화 차단, DRM 콘텐츠 다운로드와 관리를 맡습니다.
-
Mobile
PlaynPlay SDK for Android·iOS
고객사 앱 안에 넣는 보안 플레이어입니다. Android 7.1(API 25) 이상, iOS 13.0 이상을 지원하며 기본 플레이어 화면을 제공하거나 제어 화면을 직접 만들 수 있습니다.
-
Management
PlaynPlay Console
App 등록과 App ID 발급, 녹화 차단·동시 접속·디바이스·워터마크 정책, 사용자·세션·재생 통계, Callback URL 설정을 한 곳에서 관리합니다.
-
Packaging
PlaynPlay DRM Packaging
영상 파일을 암호화하는 명령줄 도구입니다. macOS 2종, Windows 2종, Linux 3종 빌드를 제공해 작업 PC나 서버 어디서든 돌릴 수 있습니다.
-
License
PlaynPlay 인증 서버
미디어 재생에 필요한 라이선스 키를 발급하고 세션을 관리합니다. 라이선스를 발급하는 시점에 고객사 Callback URL로 접근 권한을 확인할 수 있습니다.
-
Partner
CDNetworks 연동
CDNetworks 고객사는 전용 도메인으로 Agent와 서비스 스크립트를 불러오며, 서버 사이드 샘플도 별도로 제공됩니다.
도입은 4단계로 진행됩니다
기존 미디어 서버와 서비스 구조를 바꾸지 않고 재생 단계에 PlaynPlay를 연결합니다.
-
콘솔에서 App 등록
발급 받은 계정으로 PlaynPlay Console에 로그인해 서비스할 App을 만들고 App ID·App Key를 받습니다. 모바일 앱은 패키지 이름(Bundle ID)도 함께 등록합니다.
-
영상 DRM 패키징
ndrm-pkg명령으로 파일을 암호화합니다. 와일드카드와 하위 폴더 지정을 지원해 강좌 폴더 전체를 한 번에 처리합니다. DRM 없이 일반 파일로 서비스할 수도 있습니다. -
미디어 서버 업로드
패키징한 파일을 고객사 미디어 서버에 올립니다. 플레이어는 미디어 URL만 있으면 재생합니다.
-
재생 연동
웹은
playnplay.launch()를 호출하고, 앱은 SDK에 App ID와 사용자 ID를 넣어 재생합니다. 수강 권한과 진도는 Callback URL로 연결합니다.
서비스 형태에 맞춰 고르는 연동 방식
웹 기반 LMS, 자체 모바일 앱, 데스크톱 전용 학습 화면 중 필요한 방식을 조합해 쓸 수 있습니다.
-
Web-to-App
Agent 연동
웹 페이지에 agent.js를 넣고
playnplay.launch()를 호출하면 PlaynPlay App이 열려 재생합니다. Windows, macOS, iOS, Android에서 실행 절차가 같습니다.- 실행 타입 3종: 재생, 다운로드, 커스텀 페이지
- 여러 영상을 한 번에 다운로드 요청
- 앱 최소 버전 지정과 업데이트 알림 제어
- 접속 기기의 OS·모델 정보 조회
-
In-App
Android·iOS SDK
고객사 앱에 SDK를 넣어 앱 안에서 바로 재생합니다. Android SDK는 Google Jetpack Media3를 기반으로 만들어 Media3 기능을 그대로 쓸 수 있습니다.
- 기본 플레이어 화면을 한 번의 호출로 실행
- 재생 목록, 백그라운드 재생, 화면 속 화면
- 다운로드 매니저와 오프라인 재생
- 상속용 기본 화면 클래스로 UI 직접 구성
-
Custom Page
Desktop 커스텀 페이지
PlaynPlay App 안에서 고객사가 만든 웹 페이지를 엽니다. 강의 목록과 학습 화면은 고객사 디자인 그대로 두고, 재생은 녹화 차단이 적용된 앱 환경에서 처리합니다.
- 페이지 안 video 요소로 DRM 영상 재생
- 저장된 북마크 조회와 편집
- 라이선스·권한 오류를 이벤트로 수신
- 앱 종료, 새 창 열기, 디버깅 툴 지원
고객사 서버와 주고받는 8가지 이벤트
콘솔에 Callback URL, 인증 문자열(Authorization), 보고 주기(Interval)를 등록하면 플레이어가 아래 시점마다 고객사 서버로 JSON을 보냅니다.
접근 권한 검사와 진행 상태 보고는 고객사 서버의 응답에 따라 재생을 허용하거나 멈춥니다.
| 이벤트 | 호출 시점 | 전달·응답 데이터 | 활용 예 |
|---|---|---|---|
접근 권한 검사CheckAccessRights | 라이선스 발급 시 | 사용자 ID, 디바이스 ID, 미디어 URL, 다운로드 여부 → 허용·만료·권한 없음·디바이스 초과 중 하나와 접근 만료 일시로 응답 | 수강 기간·결제 상태 확인, 기기 수 제한 |
재생 진행 상태NotifyPlaybackProgress | 콘솔에 설정한 주기마다 | 현재 위치, 전체 길이, 영상 기준 재생 시간과 실제 시청 시간 → 재생 제한 초과로 응답하면 재생 중단 | 진도율 계산, 배수·재생 횟수 제한 |
재생 상태NotifyPlaybackStatus | 재생 시작·종료 시 | 시작·종료 구분, 생성 시각 | 학습 시작·종료 기록 |
재생 종료NotifyPlaybackFinish | 재생이 끝날 때 | 종료 위치, 재생·시청 시간, 종료 원인(끝까지 시청·오류·사용자 종료) | 완강 판정, 재생 오류 모니터링 |
오프라인 재생 정보NotifyOfflinePlaybackLog | 오프라인 재생 후 온라인 연결 시 | 세션별 시작·종료 시각, 재생·시청 시간, 종료 원인 | 다운로드 학습도 진도에 반영 |
다운로드 상태NotifyDownloadStatus | 다운로드 시작·완료·취소·실패 시 | 다운로드 상태, 생성 시각 | 다운로드 이력 관리 |
북마크 제공GetBookmarks | 플레이어가 북마크를 불러올 때 | 사용자·미디어 식별 정보 → 북마크 목록으로 응답 | 고객사 DB의 북마크를 여러 기기에서 사용 |
북마크 업데이트UpdateBookmarks | 북마크가 바뀔 때 | 변경된 북마크 목록 | 북마크를 고객사 DB에 저장 |
모든 요청에는 App ID, 사용자 ID와 함께 재생을 실행할 때 넣은 userData(강좌 ID 같은 고객사 식별값)가 실려 옵니다. Callback URL은 2024년 2월 문서 공개 이후 이벤트가 추가돼 현재 8종입니다.
지원 환경
| 구분 | 지원 범위 | 비고 |
|---|---|---|
| PlaynPlay App | Windows 10 이상, macOS 11 이상 | 별도 설치 파일 제공, Microsoft WebView2 기반 |
| Android SDK | Android 7.1(API 25) 이상 | Jetpack Media3 기반, 화면 속 화면은 Android 8.0 이상 |
| iOS SDK | iOS 13.0 이상 | Background Modes(Audio, AirPlay, Picture in Picture) 사용 |
| DRM Packaging | macOS(arm64, x86_64), Windows(x86_64, x86), Linux(aarch64, x86_64, x86) | 와일드카드, 하위 폴더 일괄 지정 지원 |
| 콘텐츠 | DRM 패키징 파일, 일반 파일 | DRM 없이도 서비스 가능 |
플랫폼별 안내와 실무 가이드
개발 문서를 읽기 전에 플랫폼마다 사용자가 보는 화면과 준비할 항목, 연동 뒤 운영에 필요한 설계를 먼저 확인하세요.
-
Windows·macOS
PlaynPlay App과 웹 연동
웹 페이지에서 PlaynPlay App을 실행해 재생하는 흐름과 설치 안내, PC 보안 기능을 정리했습니다.
PC 플랫폼 보기 -
Android
Android SDK
Android 7.1 이상 앱에 넣는 플레이어의 화면 구성, 다운로드, 워터마크와 기기 보안 기능입니다.
Android 보기 -
iOS
iOS SDK
iOS 13.0 이상 앱용 플레이어의 설정, 자막, 다운로드, 화면 속 화면 기능을 확인합니다.
iOS 보기 -
Implementation
도입 실행 가이드
콘솔 설정부터 패키징, 연동, 오픈 전 테스트, 운영까지 단계별 할 일과 담당을 나눴습니다.
가이드 보기 -
Progress Data
진도 데이터 설계
Callback URL 이벤트로 진도율과 완강 여부를 계산하는 방법을 LMS 관점에서 설명합니다.
가이드 보기 -
Content Ops
콘텐츠 패키징 운영
영상 수급부터 DRM 패키징, 업로드, 검수까지 콘텐츠 담당자가 반복하는 작업 흐름입니다.
가이드 보기
개발자 통합 가이드
설정, Agent, Desktop·Android·iOS SDK, Callback URL, DRM 패키징까지 연동에 필요한 기술 문서를 공개합니다.
SDK와 샘플 프로젝트, 패키징 도구 다운로드 링크와 플랫폼별 변경 이력도 문서에서 확인할 수 있습니다.
-
시작하기
콘솔에서 App 생성과 App ID·App Key 발급,
DRM 패키징, 미디어 업로드까지 3단계 설정 -
Agent
웹 페이지에서 PlaynPlay App을 실행하는
launch()·download() 파라미터와 사용 예제 -
Desktop
커스텀 페이지 API, 샘플 코드와
디버깅 툴 다운로드, 앱 변경 이력 -
Android
Android SDK와 샘플 프로젝트 다운로드,
프로젝트 설정과 API 레퍼런스 -
iOS
iOS SDK와 샘플 프로젝트 다운로드,
프로젝트 설정과 API 레퍼런스 -
Callback URL
콘솔 설정 방법과 접근 권한·진도·
다운로드·북마크 이벤트 8종의 요청과 응답 -
DRM Packaging
패키징 도구 사용법과
와일드카드를 이용한 일괄 패키징 예제 -
개발 기술 지원
SDK 연동 중 생기는 문제와 질문
-
PlaynPlay 컨설팅 요청
도입 범위, 일정, 견적 상담
PlaynPlay 도입을 위한
기술적 지원과 서비스를 제공합니다.
제품 문의부터 데모 시연까지, 모든 지원을 위해 세일즈 및 기술 지원 팀이 준비되어 있습니다.
-
제품 및 도입 문의
도입 범위, 일정, 견적을 상담합니다. 서비스 형태와 사용자 규모를 알려주시면 맞는 연동 방식과 보안 설정을 제안합니다.
-
Trial 신청
PlaynPlay의 기능을 먼저 테스트해 보세요. 트라이얼 기간 동안 귀사의 제품과 PlaynPlay를 연동하고 성능과 기능을 직접 검증할 수 있습니다.
-
PlaynPlay 기술 문의
SDK 연동, Callback URL 설계, DRM 패키징 중에 생기는 질문에 기술팀이 답합니다. 공개된 개발 문서와 샘플 프로젝트도 함께 확인하세요.