온라인 교육·LMS
진도 인정과 수강 기간을
재생 단계에서 지키는 LMS 운영
원격 연수와 온라인 강의는 수강생이 실제로 봤다는 근거가 있어야 이수 처리를 할 수 있습니다. LMS 운영사가 겪는 문제를 PlaynPlay 설정과 Callback URL 보고에 하나씩 연결하고, 도입 전에 정할 항목을 정리했습니다.
최종 수정
운영 문제별 대응 설정
통제 장치가 없으면 진도 데이터는 이수 근거로 쓰기 어렵습니다. 문제마다 어떤 설정과 보고가 대응하는지 표로 묶었습니다.
| 운영 문제 | 통제가 없을 때 | PlaynPlay 대응 |
|---|---|---|
| 건너뛰기 | 진행 바를 끝으로 끌어 진도를 채웁니다. | 영상마다 seekable을 false로 넘겨 탐색을 막습니다. 앱에서는 위치가 바뀔 때 이동 전후 위치를 이벤트로 받아 넘긴 구간을 남길 수 있습니다. |
| 배속 수강 | 인정 시간보다 짧게 듣고도 이수 처리됩니다. | disablePlaybackRate로 배속을 막거나, 배속은 허용하고 진행 보고의 실제 시청 시간으로 인정 시간을 셉니다. |
| 대리 수강 | 한 계정으로 여러 사람이 수강합니다. | 접근 권한 검사에 기기 ID가 함께 옵니다. LMS 기준을 넘는 기기에는 DeviceLimitExceeded로 답합니다. 동시 접속이 감지되면 플레이어가 별도 오류로 알립니다. |
| 수강 기간 종료 | 기간이 끝난 수강생이 받아 둔 파일로 계속 봅니다. | 접근 권한 검사에 Expired로 답하면 재생하지 않습니다. 허용할 때는 만료 일시를 함께 내려주고, 다운로드본은 offlineAccessPeriod로 오프라인 기한을 정합니다. |
| 오프라인 학습 누락 | 이동 중에 본 강의가 진도에 잡히지 않습니다. | 네트워크가 없어 보내지 못한 재생 기록은 온라인에 연결될 때 NotifyOfflinePlaybackLog로 세션별로 전송됩니다. |
| 진도 민원 | "끝까지 봤다"는 문의에 확인할 근거가 없습니다. | NotifyPlaybackFinish가 마지막 위치와 종료 원인(끝까지 재생, 오류, 사용자 종료)을 보냅니다. |
탐색과 배속 제한은 재생을 실행할 때 넘기는 미디어 정보의 값입니다. 과정마다 값을 다르게 넣으면 의무 과정만 제한할 수 있습니다.
Callback URL 보고로 만드는 운영 리포트
플레이어는 콘솔에 등록한 Callback URL로 재생 기록을 JSON으로 보냅니다. 보고마다 재생을 실행할 때 넣은 userData가 함께 오므로 수강 신청 ID를 넣어 두면 LMS 테이블과 바로 묶입니다.
| 리포트 | 쓰는 보고와 값 | 계산 메모 |
|---|---|---|
| 차시별 진도율 | NotifyPlaybackProgress의 현재 위치와 전체 길이(밀리초) | 마지막 위치를 전체 길이로 나눕니다. 탐색을 허용한 과정은 시청 시간 합계로 한 번 더 검증합니다. |
| 인정 학습 시간 | 진행 보고의 watchTime | 실제로 흐른 시간입니다. 1.5배속으로 40분을 들으면 playTime은 60분, watchTime은 40분입니다. |
| 배속 사용 현황 | playTime과 watchTime | 두 값의 비율로 수강생이 몇 배속으로 들었는지 추정합니다. |
| 완강·중도 종료 | NotifyPlaybackFinish의 종료 원인 | Error로 끝난 세션만 따로 모아 수강생이 문의하기 전에 재수강을 안내합니다. |
| 학습 시간대 | NotifyPlaybackStatus의 시작·종료와 생성 시각 | 요일·시간대별 수강 분포를 보고 튜터 응대 시간을 배치합니다. |
| 오프라인 학습 | NotifyOfflinePlaybackLog의 세션마다 시작·종료 시각, 재생 시간과 시청 시간, 종료 원인 | 온라인 기록과 같은 계산식에 합칩니다. |
| 기기 변경 현황 | CheckAccessRights의 사용자 ID와 기기 ID | 수강생별 사용 기기 수를 세어 대리 수강이 의심되는 계정을 고릅니다. |
| 다운로드 이력 | NotifyDownloadStatus의 시작, 완료, 취소, 실패 | 실패가 잦은 콘텐츠와 수강생을 찾아 원인을 확인합니다. |
진행 보고 주기(Interval)는 콘솔에서 정합니다. Android·iOS SDK는 2026년 8월 업데이트부터 진행 상태에 변화가 없으면 진행 보고를 보내지 않습니다. 보고가 비는 구간을 일시 정지 시간으로 해석하지 않도록 계산식을 설계하기를 권합니다.
수강생 화면에서는 이렇게 진행됩니다
PC에서는 LMS 웹 페이지가 PlaynPlay App을 실행하고, 고객사 모바일 앱에서는 Android·iOS SDK 플레이어가 열립니다. 웹에서 플레이어를 실행하는 절차는 Windows, macOS, iOS, Android가 같습니다.
-
강의실에서 재생
차시의 재생 버튼을 누르면 LMS가
playnplay.launch()로 플레이어를 엽니다. PC 앱이 고객사가 정한 최소 버전보다 낮으면 업데이트 안내가 뜹니다. -
권한 확인
라이선스를 발급할 때 LMS 서버가 접근 권한 검사에 답합니다. 기간 만료, 기기 초과 같은 거절 사유는 원인별 오류로 앱에 전달되므로 안내 문구를 미리 준비합니다.
-
이어서 시청
LMS가 저장한 위치를 시작 시간으로 넘기면 그 지점부터 재생합니다. 갱신 시각을 함께 넘기면 기기에 남은 오프라인 재생 위치와 비교해 더 최근 값을 씁니다.
-
내려받아 학습
오프라인 재생 기한은 초로 지정합니다. 값을 0으로 주면 받은 파일을 오프라인에서 열 수 없습니다. 모바일 데이터 사용을 막으면 Wi-Fi에서만 받습니다.
-
종료와 기록
끝까지 보거나 창을 닫으면 종료 원인과 마지막 위치가 LMS로 갑니다. 오프라인에서 본 기록은 다음 온라인 연결 때 전송됩니다.
도입 전에 정해 둘 항목
학사 담당, LMS 개발자, 벤더가 계약 전에 함께 정하기를 권합니다. 연동이 끝난 뒤 진도 기준을 바꾸면 이미 쌓인 데이터를 다시 계산해야 합니다.
-
학사·운영
진도 인정 기준
- 진도율을 마지막 위치로 볼지, 누적 시청 시간으로 볼지
- 배속과 탐색을 막을 과정, 허용할 과정
- 수강 기간이 끝난 뒤 복습 허용 여부
- 다운로드를 허용할 과정과 오프라인 기한
-
LMS 개발
Callback URL 서버
- 접근 권한 검사 응답 4종(Ok, Expired, NoRights, DeviceLimitExceeded)의 판정 규칙
userData에 넣을 강좌·차시·수강 신청 ID- 진행 보고 주기와 서버 처리량
- Authorization 문자열 사용 여부
-
콘텐츠·고객지원
준비물과 문의 대응
- 기존 영상의 DRM 패키징 일정과 업로드 위치
- 오류 원인별 안내 문구와 상담 절차
- PC 앱 최소 버전을 언제 올릴지
- 기존 보안 플레이어에서 넘어오는 순서
LMS 운영 FAQ
-
기존 LMS의 진도 테이블을 바꿔야 하나요?
Callback URL 보고를 받는 API를 LMS 서버에 추가하는 작업이 중심입니다. 보고에 실려 오는
userData에 수강 신청 ID를 넣어 두면 기존 진도 테이블의 키와 그대로 연결됩니다. -
2배속으로 들은 시간도 인정할 수 있나요?
과정 정책에 따라 고릅니다. 진행 보고는 영상 기준 재생 시간(
playTime)과 실제 시청 시간(watchTime)을 함께 보냅니다. 실제 시간으로 인정하는 과정은watchTime을, 영상 분량으로 인정하는 과정은playTime을 씁니다. -
수강 기간이 끝난 수강생에게 복습만 열어 줄 수 있나요?
접근 권한 검사는 LMS 서버가 답하므로 판정 규칙도 LMS가 정합니다. 복습 기간에는 Ok와 새 만료 일시를 돌려주고, 복습 차시는 탐색과 배속을 허용하는 식으로 운영할 수 있습니다.
-
PC 수강부터 연동하고 모바일 앱은 나중에 붙여도 되나요?
가능합니다. Callback URL 보고 규격은 PC 앱과 Android·iOS SDK가 같이 쓰므로, 먼저 만든 LMS 서버의 접근 권한 검사와 보고 처리를 모바일 단계에서도 그대로 씁니다. 모바일 앱에는 SDK를 넣고, 콘솔에 앱의 패키지 이름·Bundle ID를 등록한 뒤 App ID와 사용자 ID로 DRM을 설정합니다.
-
진행 보고가 자주 오면 서버 부담이 커지지 않나요?
보고 주기는 콘솔에서 정하고, 2026년 8월 이후 Android·iOS SDK는 진행 상태에 변화가 없으면 보고를 생략합니다. 동시 수강 인원과 차시 길이를 기준으로 주기를 정하고, 부하 시험을 거친 뒤 운영에 넣기를 권합니다.
PlaynPlay 도입을 위한
기술적 지원과 서비스를 제공합니다.
제품 문의부터 데모 시연까지, 모든 지원을 위해 세일즈 및 기술 지원 팀이 준비되어 있습니다.
-
제품 및 도입 문의
도입 범위, 일정, 견적을 상담합니다. 서비스 형태와 사용자 규모를 알려주시면 맞는 연동 방식과 보안 설정을 제안합니다.
-
Trial 신청
PlaynPlay의 기능을 먼저 테스트해 보세요. 트라이얼 기간 동안 귀사의 제품과 PlaynPlay를 연동하고 성능과 기능을 직접 검증할 수 있습니다.
-
PlaynPlay 기술 문의
SDK 연동, Callback URL 설계, DRM 패키징 중에 생기는 질문에 기술팀이 답합니다. 공개된 개발 문서와 샘플 프로젝트도 함께 확인하세요.
기능
역할별 안내