PlaynPlay
PlaynPlay

학원·어학·자격증 인강

반복 학습은 편하게,
수강권은 판매한 조건대로

인강 수강생은 같은 문장을 여러 번 듣고, 속도를 바꾸고, 시험 직전에 핵심 구간만 다시 봅니다. 학습 편의와 수강권 보호를 함께 설계하는 방법을 학원 운영 관점에서 정리했습니다.

최종 수정

반복 학습을 표현한 PlaynPlay 일러스트
Operating Problems

인강 운영에서 자주 생기는 문제

학원 인강은 수강권 단위로 팔리기 때문에 계정 공유와 기간 관리가 곧 매출 문제입니다. 문제마다 대응하는 설정을 정리했습니다.

문제통제가 없을 때PlaynPlay 대응
수강권 돌려보기한 명이 결제한 강의를 친구나 가족이 함께 봅니다.접근 권한 검사에 오는 기기 ID로 학원이 정한 기기 수를 적용하고 DeviceLimitExceeded로 답합니다. 동시 접속은 플레이어가 별도 오류로 알립니다.
강의 녹화·재판매녹화본이 공유 사이트나 중고 거래에 올라옵니다.PlaynPlay App과 Android·iOS SDK의 녹화 차단을 적용합니다. Android에서는 무작위 위치 워터마크로 촬영본의 출처를 좁힙니다.
기간 지난 시청수강 기간이 끝난 뒤에도 받아 둔 파일로 봅니다.접근 권한 검사에 Expired로 답하고, 다운로드본은 오프라인 재생 기한을 남은 수강 기간 안으로 둡니다.
맛보기 강의 제작체험 강의를 따로 잘라 인코딩하고 올려야 합니다.원본은 그대로 두고 클리핑으로 재생할 시작·끝 위치만 지정합니다.
변조 환경루팅 기기나 앱 플레이어에서 앱을 실행합니다.Android SDK는 루팅 기기나 앱 플레이어를 감지하면 호출되는 콜백을 제공하므로, 이때 보여 줄 안내를 학원 앱에서 정합니다.
이어보기 문의"어디까지 봤는지 모르겠다"는 문의가 반복됩니다.학원 서버가 저장한 위치를 시작 시간으로 넘기고, 종료 보고로 마지막 위치를 받아 다시 저장합니다.
Study Scenes

학습 장면별로 쓰는 플레이어 조작

Android·iOS SDK 기본 플레이어 화면의 조작과 설정을 과목과 상황별로 묶었습니다. 수강 안내 자료에 그대로 옮겨 쓸 수 있습니다.

  • 어학 듣기

    한 문장 반복

    구간 반복 버튼을 누르고 문장 시작에서 시작 버튼, 끝에서 종료 버튼을 누르면 그 사이만 반복합니다. 방금 누른 버튼을 다시 누르면 그 지점이 영상 처음이나 끝으로 돌아갑니다.

  • 어학 받아쓰기

    0.1배씩 속도 조절

    화면 중앙 오른쪽 버튼으로 0.1배씩 올리거나 내리고, 현재 속도가 표시된 버튼을 누르면 1배속으로 돌아옵니다. 배속 중에는 타임바 아래에 배속 기준 현재 위치와 남은 시간이 한 줄 더 나옵니다.

  • 원서·자막 강의

    원문과 번역 자막

    Android SDK는 WebVTT, SRT, SMI 자막의 다중 선택을 지원하고, iOS SDK는 자막 두 개 이상을 동시에 띄울 수 있습니다. 자막 출력 기준(비디오 위·화면 위)과 세로 위치는 앱 설정으로 정합니다.

  • 자격증 이론

    암기 포인트 북마크

    메뉴의 북마크에서 + 버튼을 누르면 현재 위치가 제목과 함께 저장되고, 제목을 비우면 Untitled로 남습니다. 북마크 콜백을 켜면 북마크가 학원 서버로 전달되고, 다음 재생 때 학원 서버가 목록을 내려주므로 기기를 바꿔도 이어집니다.

  • 시험 직전 복습

    차시 목록에서 바로 이동

    여러 차시를 재생 목록으로 열면 메뉴의 재생 목록에서 차시를 골라 바로 재생합니다. 필기할 때는 화면을 길게 눌러 잠그고, 가운데 자물쇠 버튼으로 풉니다.

  • 통학 중 학습

    받아 두고 이동 중에

    강의를 내려받으면 자막도 함께 저장됩니다. 동시 다운로드는 기본 3개이고 나머지는 대기합니다. iOS에서는 앱이 백그라운드로 가도 다운로드가 이어집니다.

Student Journey

수강생이 강의를 여는 흐름

PC는 학원 웹 강의실에서, 모바일은 학원 앱에서 시작합니다. 단계마다 학원이 준비할 것을 함께 적었습니다.

  1. PC 강의실

    웹 강의실의 재생 버튼이 PlaynPlay App을 실행합니다. 앱이 학원이 정한 최소 버전보다 낮으면 업데이트 안내가 뜨므로, 첫 수강 안내문에 설치 방법을 넣어 둡니다.

  2. 모바일 앱

    학원 앱에 SDK를 넣으면 앱 안 플레이어로 열립니다. 강의 제목을 메타데이터로 넘기면 모바일 타임바에 표시됩니다.

  3. 수강권 확인

    학원 서버가 접근 권한 검사에 답합니다. 앱은 저장된 만료 일시를 읽어 강의 목록에 남은 수강 기간을 보여 줄 수 있습니다.

  4. 다음 수강 준비

    종료 보고로 받은 마지막 위치를 학원 서버에 저장하고, 다음 재생 때 시작 시간으로 넘깁니다.

Product Design

수강권 상품별 설정 조합

같은 강의라도 판매 방식에 따라 서버 응답과 플레이어 설정이 달라집니다. 학원에서 많이 쓰는 상품 형태로 예를 들었습니다.

상품(예)학원 서버 응답플레이어 설정
기간제 수강권결제일 기준 만료 일시를 expiresOn으로 내려주고, 기간이 지나면 Expired로 답합니다.오프라인 재생 기한을 남은 수강 기간보다 길지 않게 둡니다.
맛보기 강의맛보기 차시만 Ok로 답합니다.클리핑으로 앞부분만 재생하고, 오프라인 재생 기한을 0으로 둡니다.
횟수권시청 횟수를 학원 서버가 셉니다. 한도를 넘으면 진행 보고에 PlaybackLimitExceeded로 답합니다.어떤 보고를 1회로 셀지(재생 시작, 일정 비율 이상 시청 등) 미리 정합니다.
배수 제한강의 길이 대비 누적 시청량이 한도를 넘으면 PlaybackLimitExceeded로 답합니다.배속을 허용하면 playTime과 watchTime 중 무엇으로 셀지 정합니다.
복습권학기 종료일을 만료 일시로 내려주고, 복습권을 산 수강생에게는 새 만료 일시와 함께 Ok로 답합니다.복습 기간에는 탐색과 배속을 열어 둡니다.
프리패스수강권이 유효하면 Ok와 만료 일시를 내려줍니다.탐색과 배속을 열고 다운로드를 허용합니다.

횟수와 배수의 기준값은 PlaynPlay가 정하지 않습니다. 학원 서버가 Callback URL 보고를 세어 응답으로 결정합니다.

Academy Data

원장과 운영팀이 볼 수 있는 숫자

Callback URL 보고를 학원 DB에 쌓으면 아래 지표를 직접 계산할 수 있습니다. 계산식은 학원이 정합니다.

  • 강의별 완강 비율

    종료 원인이 Ended인 세션을 수강생 수와 비교합니다.

  • 이탈 구간

    UserExited로 끝난 세션의 마지막 위치를 모으면 수강생이 자주 멈추는 지점이 보입니다. 보충 자료를 넣을 위치를 고를 때 씁니다.

  • 과목별 배속

    playTime을 watchTime으로 나누면 평균 배속이 나옵니다. 과목별 기본 배속을 정하는 참고 자료가 됩니다.

  • 시간대별 수강

    재생 시작 보고의 생성 시각으로 요일·시간대 분포를 봅니다. 조교 상담 시간을 배치할 때 참고합니다.

  • 다운로드 수요

    다운로드 시작·완료 보고 수로 오프라인 수요가 많은 강좌를 찾습니다.

  • 공유 의심 계정

    접근 권한 검사에 오는 사용자 ID와 기기 ID를 쌓아, 짧은 기간에 기기가 자주 바뀌는 계정을 찾습니다.

보고 항목과 값의 정의는 용어집과 진도 연동 가이드에 정리되어 있습니다.

학원·인강 FAQ

  • 가지고 있는 강의 파일을 어떻게 준비하나요?

    콘솔에서 받은 DRM 패키징 도구로 파일을 암호화하고, 결과물을 미디어 서버에 업로드합니다. 문서의 사용 예는 mp4 파일을 입력으로 쓰고, 와일드카드로 폴더 단위 처리를 지원합니다. 인코딩 사양이 제각각이면 샘플 몇 개로 먼저 시험하기를 권합니다.

  • PC와 스마트폰을 번갈아 보면 이어보기가 되나요?

    학원 서버가 마지막 위치를 저장해 두었다가 재생할 때 시작 시간으로 넘기면 됩니다. 시작 시간에 갱신 시각(syncedAt)을 넣으면 기기에 남은 오프라인 재생 위치와 비교해 더 최근 값을 씁니다.

  • 가진 자막이 SMI 파일뿐인데 그대로 쓸 수 있나요?

    Android SDK는 SMI(SAMI), SRT, WebVTT 자막의 다중 선택을 지원합니다. iOS SDK 문서에는 자막 파일 형식이 따로 적혀 있지 않으므로 iOS 앱을 운영한다면 샘플 파일로 먼저 확인하기를 권합니다.

  • 배수 제한을 넘은 수강생에게는 어떻게 보이나요?

    학원 서버가 PlaybackLimitExceeded로 답하면 플레이어가 재생 제한 초과 오류를 앱에 전달합니다. 남은 한도는 학원 서버가 계산하므로 강의실 화면에 미리 보여 주기를 권합니다.

Get Started

PlaynPlay 도입을 위한
기술적 지원과 서비스를 제공합니다.

제품 문의부터 데모 시연까지, 모든 지원을 위해 세일즈 및 기술 지원 팀이 준비되어 있습니다.

  • 제품 및 도입 문의

    도입 범위, 일정, 견적을 상담합니다. 서비스 형태와 사용자 규모를 알려주시면 맞는 연동 방식과 보안 설정을 제안합니다.

  • Trial 신청

    PlaynPlay의 기능을 먼저 테스트해 보세요. 트라이얼 기간 동안 귀사의 제품과 PlaynPlay를 연동하고 성능과 기능을 직접 검증할 수 있습니다.

  • PlaynPlay 기술 문의

    SDK 연동, Callback URL 설계, DRM 패키징 중에 생기는 질문에 기술팀이 답합니다. 공개된 개발 문서와 샘플 프로젝트도 함께 확인하세요.