LMS Callback

LMS Callback

κ°œμš”

Kollusμ—μ„œ μ œκ³΅ν•˜λŠ” Callback μ •λ³΄λŠ” ν”Œλž«νΌμ—μ„œ μ „λ‹¬ν•˜λŠ” λ‚΄μš©κ³Ό ν”Œλ ˆμ΄μ–΄μ—μ„œ μ „λ‹¬ν•˜λŠ” λ‚΄μš©μœΌλ‘œ ꡬ뢄될 수 μžˆμŠ΅λ‹ˆλ‹€. ν”Œλ ˆμ΄μ–΄μ—μ„œ μ „λ‹¬ν•˜λŠ” μ •λ³΄λŠ” μ‚¬μš©μžκ°€ 컨텐츠λ₯Ό μ΄μš©ν•œ 정보λ₯Ό ν™œμš©ν•  수 μžˆλ„λ‘ κ΄€λ ¨ 정보λ₯Ό μ§€μ •λœ Url에 μ „λ‹¬ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€. μ§„λ„μœ¨μ„ μ „μ†‘ν• λ•Œ 응닡을 ν™•μΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 단, λ„€νŠΈμ›Œν¬ 였λ₯˜μΈ 경우 ν•΄λ‹Ή 데이터λ₯Ό 보관후 재 전솑 κ°€λŠ₯ν• λ•Œ 재 μ „μ†‘λ©λ‹ˆλ‹€. ν•΄λ‹Ή κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” Kollus에 μ ‘μ†ν•˜μ—¬ κ΄€λ ¨ 정보λ₯Ό μ„€μ •ν•˜μ‹œλ©΄ Video-gatewayλ₯Ό 톡해 κ΄€λ ¨ λ‚΄μš©μ΄ μ „λ‹¬λ˜μ–΄ μž¬μƒκ³Ό κ΄€λ ¨λœ 정보λ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€.

Β 

Callback setting

LMS Callback은 채널 λ‹¨μœ„λ‘œ 섀정이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

Kollus μ½˜μ†”μ— μ ‘μ†ν•œ ν›„, μ•„λž˜ 경둜λ₯Ό 따라 LMS μ½œλ°±μ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. 채널 λ©”λ‰΄λ‘œ 이동

  2. μ½œλ°±μ„ μ„€μ •ν•  μ±„λ„μ—μ„œ "더보기" 선택

  3. "콜백 μ„€μ •" 클릭

  4. LMS νƒ­μ—μ„œ ν•­λͺ© μ„€μ • ν›„ μ €μž₯

image-20250219-062939.png
image-20250219-063225.png

Β 

Callback process

μž¬μƒ 정보λ₯Ό 전달 λ°›λŠ” 흐름을 μ„€λͺ…ν•©λ‹ˆλ‹€.

  1. Kollus μ„€μ •μ—μ„œ κ΄€λ ¨ 정보 μš”μ²­μ„ μ„€μ •ν•©λ‹ˆλ‹€.

    • KollusλŠ” 컨텐츠 배포 λ‹¨μœ„μΈ 채널 λ§ˆλ‹€ λ‹€μ–‘ν•œ μ˜΅μ…˜μ„ μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    • λ°°ν¬ν•˜λŠ” μ±„λ„λ§ˆλ‹€ μ§€μ •λœ 데이터 μˆ˜μ§‘μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

  2. λ™μ˜μƒ μž¬μƒμ„ μœ„ν•΄ Video-gatewayλ₯Ό ν˜ΈμΆœν•˜λ©΄ 컨텐츠 μž¬μƒμ„ μœ„ν•œ λ‹€μ–‘ν•œ 정보λ₯Ό ν”Œλ ˆμ΄μ–΄ μ „λ‹¬ν•˜κ²Œ 되며, μ΄λ•Œ μž¬μƒκ³Ό κ΄€λ ¨λœ 정보λ₯Ό 전달할 섀정을 ν•¨κ»˜ μ „λ‹¬ν•©λ‹ˆλ‹€.

  3. μž¬μƒ 정보λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•΄ μ„€μ •ν•œ Url에 κ΄€λ ¨ 정보λ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€.

  4. KollusλŠ” 컨텐츠 μž¬μƒκ³Ό κ΄€λ ¨λœ κΈ°λ³Έ 정보λ₯Ό μˆ˜μ§‘ν•˜κΈ° μœ„ν•΄ κ΄€λ ¨ 정보λ₯Ό μˆ˜μ§‘ν•©λ‹ˆλ‹€.

    • μ‚¬μš©μž 정보λ₯Ό 일체 ν¬ν•¨λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

    • Mac Address, IP Address 개인의 μœ„μΉ˜ 정보와 κ΄€λ ¨λœ 정보λ₯Ό μˆ˜μ§‘ λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Customer Requirement

Kollusμ—μ„œ μ „λ‹¬ν•˜λŠ” μž¬μƒ κ΄€λ ¨ μ •λ³΄λŠ” 고객의 λ‹€μ–‘ν•œ μš”μ²­μ„ μˆ˜λ ΄ν•˜μ—¬ κ°œλ°œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • λ§ˆμ§€λ§‰ μ’…λ£Œ μ‹œκ°„

  • 컨텐츠 ꡬ간별 μž¬μƒ 정보

  • μ‚¬μš©μž 정보

  • 컨텐츠 정보

  • PC 정보

  • λ™μ˜μƒ ꡬ간을 μ‹œμŠ€ν…œμ—μ„œ μ§€μ •λœ λΈ”λŸ­μœΌλ‘œ λ‚˜λˆ„μ–΄ 정보λ₯Ό μˆ˜μ§‘

Plugin option

  • {CLIENT_USER_ID}

    • μ‚¬μš©μžμ˜ User ID μž…λ‹ˆλ‹€.

    • MediaToken μƒμ„±μ‹œ νŒŒλΌλ―Έν„°λ‘œ μž…λ ₯ν•œ μ‚¬μš©μžμ˜ ID μ •λ³΄μž…λ‹ˆλ‹€. μ΄λ•Œ μž…λ ₯된 μ‚¬μš©μž IDλŠ” Kollus μ‹œμŠ€ν…œμ—μ„œ κ΄€λ¦¬λ˜μ§€ μ•Šκ³  μ‚¬μš©μžλ₯Ό κ΅¬λΆ„ν•˜λŠ” Unique μ •λ³΄λ‘œλ§Œ μ‚¬μš©λ©λ‹ˆλ‹€.

  • {START_AT}

    • Video-gatewayλ₯Ό ν˜ΈμΆœν•œ μ‹œμ μ˜ Unixtimestamp μž…λ‹ˆλ‹€.

    • μ‚¬μš©μžμ˜ 컨텐츠 μ΄μš©μ€‘ λ‹€μˆ˜μ˜ μž¬μƒμ •λ³΄ 전달이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ™μΌν•œ μš”μ²­μ— 같은 {START_AT} 값을 κ°–κ²Œ 되며, 같은 μ‹œκ°„μ— λ‹€μˆ˜μ˜ μ΄μš©μžκ°€ λ°œμƒν•  경우 Unixtimestamp 이기 λ•Œλ¬Έμ— 쀑볡될 수 μžˆμŠ΅λ‹ˆλ‹€.

    • λ‹€μš΄λ‘œλ“œ μ»¨ν…μΈ μ˜ 경우 start_at은 컨텐츠 μž¬μƒμ‹œ λ‹¨λ§μ˜ unixtimestamp μž…λ‹ˆλ‹€.

  • {BLOCK_CNT}

    • Kollusμ—μ„œ μ„€μ •ν•œ λΈ”λŸ­μ˜ κ°œμˆ˜μž…λ‹ˆλ‹€.

    • μž¬μƒ 정보λ₯Ό μ§€μ •λœ λΈ”λŸ­ 개수둜 λ‚˜λˆ„μ–΄ κ΄€λ¦¬ν•˜λ©° 정보 μ „λ‹¬μ‹œ ν•¨κ»˜ ν¬ν•¨μ‹œν‚¬μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

  • {PLAY_TIME}

    • 전체 μž¬μƒ μ‹œκ°„ (λ‹¨μœ„:초)

    • 배속 κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 경우 배속을 ν¬ν•¨ν•œ μ‹œκ°„μž…λ‹ˆλ‹€. μ‹œκ°„ 값은 λˆ„μ μž…λ‹ˆλ‹€.

    • 10μ΄ˆκ°„ 2λ°°μ†μœΌλ‘œ μž¬μƒν•œ 경우 20초둜 κ³„μ‚°λ©λ‹ˆλ‹€.

    • λͺ¨λ“  μž¬μƒ μ‹œκ°„μ„ ν¬ν•¨ν•œ μ‹œκ°„μž…λ‹ˆλ‹€. (κ΅¬κ°„λ°˜λ³΅μ„ ν•œ κ²½μš°λ„ λͺ¨λ‘ ν¬ν•¨λ©λ‹ˆλ‹€.)

VOD

PLAY TIME

REAL PLAYTIME

RUN TIME

SHOW TIME

VOD

PLAY TIME

REAL PLAYTIME

RUN TIME

SHOW TIME

μ˜ˆμ‹œ

  1. 2λ°°μ†μœΌλ‘œ 0~10μ΄ˆκΉŒμ§€ μ‹œμ²­

  2. λ‹€μ‹œ 0초둜 λŒμ•„κ°€μ„œ 10초 μ‹œμ²­

  3. 10초 λ™μ•ˆ μ •μ§€

λͺ¨λ“  μž¬μƒ μ‹œκ°„ 포함(ꡬ간 반볡 포함)

λͺ¨λ“  μž¬μƒ μ‹œκ°„ 포함(ꡬ간 반볡 λ―Έ 포함)

ν”Œλ ˆμ΄μ–΄ μž¬μƒ μ‹œκ°„

ν”Œλ ˆμ΄μ–΄ μ‹€μ œ μž¬μƒ μ‹œκ°„

PROGRESS

PROGRESS(배열에 λ‹΄κ³ , λ™μΌν•œ μœ„μΉ˜λŠ” μ œμ™Έ)

PLAY TIME + PAUSED TIME

λˆ„μ  μž¬μƒ μ‹œκ°„

2배속 X 10초 + ꡬ간 반볡 2배속 X 10초 =40초

2배속 X 10초 = 20초(쀑볡 ꡬ간 반볡 μ œμ™Έ)

10초 + ꡬ간 반볡 10초 + 10초 μ •μ§€ = 30초

10초 + ꡬ간 반볡 10초 = 20초

< VOD LMS Callbackμ—μ„œμ˜ μ—¬λŸ¬ Time 비ꡐ >

  • {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

    • λͺ¨λ“  μž¬μƒ 정보λ₯Ό ν¬ν•¨ν•œ 데이터

{PLAY_BLOCK_JSON}

  • {JSON_DATA}의 block_info ν•­λͺ©κ³Ό λ™μΌν•©λ‹ˆλ‹€.

  • block_info Object의 ν•˜μœ„ λ…Έλ“œλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

{JSON_DATA}

  • user_info

    • content_provider_key : 고객사 key

    • client_user_id : μ‚¬μš©μž(고객) ID

    • player_id : ν”Œλ ˆμ΄μ–΄(player) ID

    • hardware_id : ν”Œλ ˆμ΄μ–΄(player) hardware ID, 고객 ν™•μΈμš©

    • host_name : λΉ„λ””μ˜€ 링크 μš”μ²­ 도메인λͺ…

    • device : λ””λ°”μ΄μŠ€λͺ…

  • content_info

    • duration : 컨텐츠 길이

    • encoding_profile : 인코딩 ν”„λ‘œνŒŒμΌ

    • media_content_key : λ―Έλ””μ–΄ 컨텐츠 ν‚€

    • channel_key : 채널킀

    • real_playtime : μ‹€μ œ 전체 μž¬μƒ μ‹œκ°„ (λ‹¨μœ„:초)

      • 배속 κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 경우 배속을 ν¬ν•¨ν•œ μ‹œκ°„μž…λ‹ˆλ‹€.

      • 10μ΄ˆκ°„ 2λ°°μ†μœΌλ‘œ μž¬μƒν•œ 경우 20초둜 κ³„μ‚°λ©λ‹ˆλ‹€.

      • λͺ¨λ“  μž¬μƒ μ‹œκ°„μ„ ν¬ν•¨ν•œ μ‹œκ°„μž…λ‹ˆλ‹€. (κ΅¬κ°„λ°˜λ³΅μ„ ν•œ κ²½μš°λŠ” μ œμ™Έλ©λ‹ˆλ‹€.)

    • playtime : 컨텐츠 μž¬μƒ μ‹œκ°„

    • playtime_percent : duration에 λŒ€ν•œ 전체 μž¬μƒ λΉ„μœ¨

    • start_at : Video-gatewayλ₯Ό ν˜ΈμΆœν•œ μ‹œμ μ˜ Unixtimestamp μž…λ‹ˆλ‹€. λ‹€μš΄λ‘œλ“œ μ»¨ν…μΈ μ˜ 경우 start_at은 컨텐츠 μž¬μƒμ‹œ λ‹¨λ§μ˜ unixtimestamp μž…λ‹ˆλ‹€.

    • last_play_at : λ§ˆμ§€λ§‰ μž¬μƒ μœ„μΉ˜ (λ‹¨μœ„:초)

    • runtime : ν”Œλ ˆμ΄μ–΄ μž¬μƒ μ‹œκ°„(λ‹¨μœ„:초)

    • showtime :Β  ν”Œλ ˆμ΄μ–΄ μ‹€μ œ μž¬μƒ μ‹œκ°„(λ‹¨μœ„:초)

    • serial : lms λ°œμ†‘ μˆœμ„œ(0λΆ€ν„° μ‹œμž‘)Β 

  • block_info

    • block_count : ꡬ간 횟수

    • blocks: λ§ˆμΌμŠ€ν†€ (μž¬μƒμ‹œκ°„ λ‹¨μœ„:초)

      • b0 : λΈ”λŸ­ μž¬μƒμ—¬λΆ€ (0:μž¬μƒν•˜μ§€ μ•ŠμŒ, 1:ν•΄λ‹ΉλΈ”λŸ­ μž¬μƒ)

      • b1 : 0 ~ (int)

      • b2 : block_period 만큼 λ°˜λ³΅λ©λ‹ˆλ‹€.

        ...

      • t0 : λΈ”λŸ­ μž¬μƒμ‹œκ°„ (λ‹¨μœ„:초)

      • t1 : 0 ~ (int)

      • t2 : block_period 만큼 λ°˜λ³΅λ©λ‹ˆλ‹€.

        ...

      • p0 : λΈ”λŸ­ μž¬μƒ λΉ„μœ¨ (λ‹¨μœ„:νΌμ„ΌνŠΈ%)

      • p1 : 0~ (int) , λΈ”λŸ­ μž¬μƒμ„ λ°˜λ³΅ν•˜λŠ” 경우 100μ΄μƒμœΌλ‘œ ν‘œμ‹œλ©λ‹ˆλ‹€.

      • p2 : block_period 만큼 λ°˜λ³΅λ©λ‹ˆλ‹€.

    • sessions : μ‚¬μš©μž λΈ”λŸ­ μž¬μƒμ„ μ‹œκ°„λ³„λ‘œ κ΄€λ¦¬ν•˜λŠ” ν•­λͺ© (λ°°μ—΄) μ„Έμ…˜ λ°μ΄ν„°λŠ” 이전 데이터λ₯Ό λͺ¨λ‘ λˆ„μ μœΌλ‘œ μ „μ†‘ν•©λ‹ˆλ‹€.

      • block : λΈ”λŸ­ 인덱슀 (0λΆ€ν„° μ‹œμž‘)

      • start_time : ν•΄λ‹Ή λΈ”λŸ­μ„ μ‹œμž‘ν•œ μ‹œκ°„ (unixtimestamp-localtime)

      • play_time : ν•΄λ‹Ή λΈ”λŸ­ μž¬μƒ μ‹œκ°„

  • uservalues : μ‚¬μš©μž μ •μ˜ λ³€μˆ˜, 각 λ³€μˆ˜μ˜ 전체 합은 1KBλ₯Ό λ„˜μ§€ μ•Šλ„λ‘ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

    • uservalue0

    • uservalue1

    • ....

    • uservalue9

Support options

ν”Œλ ˆμ΄μ–΄λ³„ 지원 μ˜΅μ…˜μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. {MAC}, {IP}의 경우 κ°œμΈμ •λ³΄μ— ν•΄λ‹Ήν•˜λŠ” μš”μ†Œλ‘œ ν•„μš”ν•œ 경우 별도 ν˜‘μ˜ν•΄ μ£Όμ‹­μ‹œμ˜€.

Option

FlashPlayer

KollusPlayer(PC)

KollusPlayer(Monlie)

Option

FlashPlayer

KollusPlayer(PC)

KollusPlayer(Monlie)

{CLIENT_USER_ID}

O

O

O

{START_AT}

O

O

O

{BLOCK_CNT}

O

O

O

{PLAY_TIME}

O

O

O

{PLAYTIME_PERCENT}

O

O

O

{DURATION}

O

O

O

{MEDIA_CONTENT_KEY}

O

O

O

{ENCODING_PROFILE_KEY}

O

O

O

{PLAY_BLOCK_JSON}

O

O

O

{BLOCK_PLAY_1} ~

O

O

O

{BLOCK_TIME_1} ~

O

O

O

{LAST_PLAY_AT}

O

O

O

{HOST_NAME}

O

O

O

{PLAYER_ID}

X(kfp)

O

O

{USERVALUE0} ~

O

O

O

{JSON_DATA}

O

O

O

Settings

Callback에 λŒ€ν•œ 섀정은 μ±„λ„μ—μ„œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Callback이 ν•„μš”ν•œ 채널 λ§ˆλ‹€ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  • 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 μž…λ‹ˆλ‹€.

Callback URLs

10:30:1:0:https://domain.com/check.asp?ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={ PLAY_BLOCK_JSON}&uservalue0={USERVALUE0} 20:180:0:1:https://another_domain.com/anohter_check.php?ip={IP}&id={CLIENT_USER_ID}&start={ START_AT}&lms={JSON_DATA}&uservalue0={USERVALUE0}

Plugin options

μž¬μƒ 정보λ₯Ό μ „λ‹¬ν•˜κΈ° μœ„ν•œ μ˜΅μ…˜μ€ JSON ν˜•νƒœμ˜ Array둜 μ „λ‹¬λ©λ‹ˆλ‹€.

  • progress_plugin (array)

    • https://domain.com/check.asp?block_period=10&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&json_data={JSON_DATA}&uservalue0={USERVALUE0}

    • https://another_domain.com/anohter_check.php?block_period=20&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={PLAY_BLOCK_JSON}&uservalue0={USERVALUE0}

Callback data sample

● URL: https://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} ● ... ● https://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

Etc.

λΈ”λŸ­κ°œμˆ˜ μ œν•œ (Limit the number of blocks)

  • μ΅œλŒ€ 100을 λ„˜μ„ 수 μ—†μŠ΅λ‹ˆλ‹€. (range: 1~100)

    • 100을 λ„˜λŠ” 데이터가 μž…λ ₯되면 μ΅œλŒ€κ°’ 100으둜 처리 λ©λ‹ˆλ‹€.

    • 0으둜 μž…λ ₯λ˜λŠ” 경우 1둜 처리 λ©λ‹ˆλ‹€.

  • λͺ¨λ“  μ»¨ν…μΈ μ˜ {DURATION}보닀 μž‘κ±°λ‚˜ 같도둝 {BLOCK_CNT}λ₯Ό μ„€μ •ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€. {DURATION}이 {BLOCK_CNT}보닀 μž‘μ€ 경우 μ•„λž˜μ™€ 같이 μ²˜λ¦¬λ©λ‹ˆλ‹€.

    • {BLOCK_CNT}κ°€ 100μΌλ•Œ {DURATION}이 30이면 μ „μ†‘λ˜λŠ” λΈ”λŸ­ μ •λ³΄λŠ” 30개둜 μ‘°μ •λ©λ‹ˆλ‹€.

Callback 호좜 주기 (Callback period)

  • Callback은 μ‹œμŠ€ν…œμ— μ„€μ •λœ Callback Url μ •λ³΄μ˜ period 섀정에 따라 ν˜ΈμΆœλ©λ‹ˆλ‹€.

  • ν”Œλ ˆμ΄μ–΄κ°€ μΌμ‹œμ •μ§€, μ •μ§€λ₯Ό ν•˜λŠ” κ²½μš°λ„ Callback이 ν˜ΈμΆœλ©λ‹ˆλ‹€.

  • 주기적으둜 ν˜ΈμΆœλ˜λŠ” λ™μΌν•œ μ‚¬μš©μžμ˜ μ •λ³΄λŠ” {START_AT}, {CLIENT_USER_ID}κ°’μœΌλ‘œ κ΅¬λΆ„ν•˜μ—¬ λ§ˆμ§€λ§‰ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • ν”Œλž˜μ‹œ ν”Œλ ˆμ΄μ–΄μ˜ κ²½μš°λŠ” ν”Œλ ˆμ΄μ–΄ μ’…λ£Œμ‹œ ν˜ΈμΆœλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

USERVALUE0 ~ USERVALUE9 μ‚¬μš©μ‹œ 주의 ν•  점

  • 특수문자(영문,μˆ«μžμ΄μ™Έμ˜ λͺ¨λ“ λ¬Έμž:ν•œκΈ€,ν•œμž,일어등)λŠ” λ°˜λ“œμ‹œ UTF-8λ¬Έμžμ—΄μ„ UrlEncode된 μƒνƒœλ‘œ μ „λ‹¬λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

crossdomain.xml

  • Flash Player μ‚¬μš©μ‹œ callback을 받을 μ„œλ²„(고객사)μ—λŠ” crossdomain.xml 파일이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

    <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only" /> <allow-access-from domain="*" to-ports="*" /> <allow-http-request-headers-from domain="*" headers="*" to-ports="*" /> </cross-domain-policy>



데이터 λ³΄μ•ˆ

  • LMS callback 데이터λ₯Ό λ³€μ‘° λ°©μ§€λ₯Ό μœ„ν•΄ POST둜 μ „λ‹¬λ˜λŠ” λͺ¨λ“  정보에 λŒ€ν•΄ Hash λ₯Ό μƒμ„±ν•˜μ—¬ μ „λ‹¬λ˜λŠ” Hashκ°’κ³Ό μΌμΉ˜ν•˜λŠ” μ§€ ν™•μΈν•©λ‹ˆλ‹€.

    β€» Hash 생성방식에 λŒ€ν•΄ λ…ΈμΆœ μš°λ €κ°€ μžˆλŠ” Flash Player, HTML5 Single PlayerλŠ” μ œμ™Έν•©λ‹ˆλ‹€.

  • Hash 생성 κ·œμΉ™μ€ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

    hash_1 = md5 ( post-data ) hash_2 = md5 ( hash_1 + service_account ) ← + 문자 포함 hash_2값을 post data의 hash νŒŒλΌλ©”ν„°μ˜ κ°’μœΌλ‘œ μ „μ†‘ν•©λ‹ˆλ‹€.



  • μ „μ†‘λ˜λŠ” Post 데이터 μ˜ˆμ‹œ

    ID=pobi&MAC=123456789ABCDEF&LRN=123456789ABCDEF&LHF=1&IP=192.16 8.0.118&LCD=L123&UCD=U123&TM=123456789&PT=123456789&ET=123456789 &SKIP=0&B1=1&B2=1&B3=1&B4=1&B5=1&B6=1&B7=1&B8=1&B9=1&B10=1&T1= 123456789&T2=123456789&T3=123456789&T4=123456789&T5=123456789&T6=1 23456789&T7=123456789&T8=123456789&T9=123456789&T10=123456789&hash =7dec341ff384574f24c6c441b46bc9b1



Copyright Β© CATENOID, lnc. All Rights Reserved.
E-mail. support@catenoid.net | Tel. 1544-4367