개요
Kollus에서 제공하는 Callback 정보는 플랫폼에서 전달하는 내용과 플레이어에서 전달하는 내용으로 구분될 수 있습니다. 플레이어에서 전달하는 정보는 사용자가 컨텐츠를 이용한 정보를 활용할 수 있도록 관련 정보를 지정된 Url에 전달하는 기능입니다. 진도율을 전송할때 응답을 확인하지 않습니다. 단, 네트워크 오류인 경우 해당 데이터를 보관후 재 전송 가능할때 재 전송됩니다. 해당 기능을 사용하기 위해서는 Kollus에 접속하여 관련 정보를 설정하시면 Video-gateway를 통해 관련 내용이 전달되어 재생과 관련된 정보를 전달합니다.
...
{REAL_PLAYTIME}
실재 재생 시간 (단위:초)
배속 기능을 사용하는 경우 배속을 포함한 시간입니다. 시간 값은 누적입니다.
10초간 2배속으로 재생한 경우 20초로 계산됩니다.
seek, 구간 반복 등으로 이미 본 구간에 대한 데이터는 집계하지 않습니다.
2배속으로 10초동안 영상을 보신후 이전 20초전 구간으로 seek를 하여 20초 동안 시청하셨을 경우 real playtime은 20초 입니다.
{PLAYTIME_PERCENT}
DURATION에 대한 전체 재생 비율 (단위:%, 정수, 절사)
컨텐츠를 두번 반복해서 본 경우 200%로 계산됩니다.
{DURATION}
컨텐츠 길이 (단위:초)
{MEDIA_CONTENT_KEY}
Kollus media_content_key
{ENCODING_PROFILE_KEY}
Kollus encoding profile key
{PLAY_BLOCK_JSON}
데이터 포멧: JSON
블럭 재생 정보
{BLOCK_PLAY_1}~{BLOCK_PLAY_##{BLOCK_CNT}}
블럭 재생 여부
재생하지 않고 Skip
해당 블럭 재생 (0초 이상 재생하면 1로 설정됩니다.)
{BLOCK_TIME_1} ~{BLOCK_TIME_##{BLOCK_CNT}}
해당 블럭을 재생한 시간입니다. (단위:초)
플레이어의 배속기능을 이용해 재생한 경우 재생시간은 배속을 적용하여 계산됩니다.
반복해서 3초의 범위를 갖는 블럭을 2회 재생한 경우 블럭의 재생시간은 6초입니다.
{DURATION}이 {BLOCK_CNT} 보다 작은 경우 {BLOCK_TIME#}의 합은 {DURATION}을 초과합니다. (각 블럭의 재생시간이 밀리초로 나오는 경우 올림하여 1초로 계산합니다.)
{LAST_PLAY_AT}
마지막 재생 위치 (단위:초)
{HOST_NAME}
비디오 링크 요청 도메인명
ex) catenoid.video.kr.kollus.com
{PLAYER_ID}
Kollus 플레이어의 고유 ID 입니다.
플레이어 설치시 생성된 고유 ID 입니다.
플래쉬 플레이어의 경우 kfp 라는 고유 문자열을 전송합니다.
{PLAY_STATUS}
전용 플레이어에서만 사용가능(Flash, 공개 HTML5 사용안함)
play : 재생중
pause: 재생멈춤(일시정지)
stop: 플레이 창이 내려 갈 때
{RUN_TIME}
JSON_DATA의 runtime과 같음
{SHOW_TIME}
JSON_DATA의 showtime과 같음
{USERVALUE0}~{USERVALUE99}
Video-gateway호출에 추가된 추가 정보 입니다.
ex) LCD={USERVALUE0}&UCD={USERVALUE4}
영문,숫자 이외의 한글등의 문자열을 전달할 경우 웹 브라우저들의 차이점이 있기 때문에 해당 변수 전달시 UTF-8로 전달해야 합니다. (전달되는 문자열은 웹의 특성상 UrlEncode해서 전달해야 합니다.)
{JSON_DATA}
데이터 포멧: JSON
모든 재생 정보를 포함한 데이터
...
Callback URLs: 캐리지 리턴으로 각각 치환자를 포함한 URL을 등록합니다.
재생정보를 다수의 시스템에서 전달 받을 수 있도록 캐리지리턴(\n)으로 구분된 다수의 callback_url 을 등록할 수 있습니다.
Kollus 플랫폼의 필요에 따라 URL 설정 수를 제한할 수 있습니다.
Format: [block_count]:[period]:[enable_sessions]:[callback_url]
구분자 : (콜론)
block_count
컨텐츠 재생 구간을 나누는 블럭의 수 입니다. 10으로 설정하면 컨텐츠의 길이가 300초의 경우 각 블럭은 30초로 구성됩니다.
peroid
데이터 전송 주기
Callback이 전송되는 주기로 지정된 period(단위:초) 마다 호출되고 프로그램(플레이어)이 종료될 때 추가로 호출 됩니다. 단, 플래시 플레이어의 경우는 플레이어 종료시 호출되지 않습니다.
플레이를 일시정시 또는 정지했을 때 추가로 호출 됩니다.
단위 :초
enable_blocks
1 이면 block_info 항목에 blocks 정보를 포함 시킵니다.
0 이면 block_info 항목에 blocks 정보는 없습니다.
enable_sessions
1 이면 block_info 항목에 sessions 정보를 포함 시킵니다.
0 이면 block_info 항목에 sessions 정보는 없습니다.
callback_url
진도율 정보를 받을 Callback Url 입니다. 컨텐츠를 재생하는 사용자 환경에서 전송하기 때문에 방화벽 환경을 고려하여 http 사용을 권장합니다.
Callback URLs
Code Block | ||
---|---|---|
| ||
10:30:1:0:httphttps://domain.com/check.asp?ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={ PLAY_BLOCK_JSON}&uservalue0={USERVALUE0} 20:180:0:1:httphttps://another_domain.com/anohter_check.php?ip={IP}&id={CLIENT_USER_ID}&start={ START_AT}&lms={JSON_DATA}&uservalue0={USERVALUE0} |
...
재생 정보를 전달하기 위한 옵션은 JSON 형태의 Array로 전달됩니다.
progress_plugin (array)
httphttps://domain.com/check.asp?block_period=10&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&json_data={JSON_DATA}&uservalue0={USERVALUE0}
httphttps://another_domain.com/anohter_check.php?block_period=20&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={PLAY_BLOCK_JSON}&uservalue0={USERVALUE0}
...
Code Block | ||
---|---|---|
| ||
● URL: httphttps://lms.servicedomain.com/lms/register ● Method: POST ● Params: ● ID={CLIENT_USER_ID} ● LRN={USERVALUE0} ● LHF={USERVALUE1} ● LCD={USERVALUE2} ● TM={START_AT} ● PT={PLAY_TIME} ● ET={LAST_PLAT_AT} ● B1={BLOCK_PLAY_1} ● T1={BLOCK_TIME_1} ● ... ● httphttps://lms.servicedomain.com/lms/register?ID=pobi&MAC=123456789ABCDEF&LRN= 123456789ABCDEF&LHF=1&IP=192.168.0.118&LCD=L123&UCD=U123&TM=12345678 9&PT=123456789&E T=123456789&SKIP=0&B1=1&B2=1&B3=1&B4=1&B5=1&B6=1&B7 =1&B8=1&B9=1&B10=1&T 1=123456789&T2=123456789&T3=123456789&T4=12345678 9&T5=123456789&T6=123456789&T7=123456789&T8=123456789&T9=123456789&T10 =123456789 |
...