LMS Callback
κ°μ
Kollusμμ μ 곡νλ Callback μ 보λ νλ«νΌμμ μ λ¬νλ λ΄μ©κ³Ό νλ μ΄μ΄μμ μ λ¬νλ λ΄μ©μΌλ‘ ꡬλΆλ μ μμ΅λλ€. νλ μ΄μ΄μμ μ λ¬νλ μ 보λ μ¬μ©μκ° μ»¨ν μΈ λ₯Ό μ΄μ©ν μ 보λ₯Ό νμ©ν μ μλλ‘ κ΄λ ¨ μ 보λ₯Ό μ§μ λ Urlμ μ λ¬νλ κΈ°λ₯μ λλ€. μ§λμ¨μ μ μ‘ν λ μλ΅μ νμΈνμ§ μμ΅λλ€. λ¨, λ€νΈμν¬ μ€λ₯μΈ κ²½μ° ν΄λΉ λ°μ΄ν°λ₯Ό 보κ΄ν μ¬ μ μ‘ κ°λ₯ν λ μ¬ μ μ‘λ©λλ€. ν΄λΉ κΈ°λ₯μ μ¬μ©νκΈ° μν΄μλ Kollusμ μ μνμ¬ κ΄λ ¨ μ 보λ₯Ό μ€μ νμλ©΄ Video-gatewayλ₯Ό ν΅ν΄ κ΄λ ¨ λ΄μ©μ΄ μ λ¬λμ΄ μ¬μκ³Ό κ΄λ ¨λ μ 보λ₯Ό μ λ¬ν©λλ€.
Β
Callback setting
LMS Callbackμ μ±λ λ¨μλ‘ μ€μ μ΄ κ°λ₯ν©λλ€.
Kollus μ½μμ μ μν ν, μλ κ²½λ‘λ₯Ό λ°λΌ LMS μ½λ°±μ μ€μ ν μ μμ΅λλ€.
μ±λ λ©λ΄λ‘ μ΄λ
μ½λ°±μ μ€μ ν μ±λμμ "λ보기" μ ν
"μ½λ°± μ€μ " ν΄λ¦
LMS νμμ νλͺ© μ€μ ν μ μ₯
Β
Callback process
μ¬μ μ 보λ₯Ό μ λ¬ λ°λ νλ¦μ μ€λͺ ν©λλ€.
Kollus μ€μ μμ κ΄λ ¨ μ 보 μμ²μ μ€μ ν©λλ€.
Kollusλ 컨ν μΈ λ°°ν¬ λ¨μμΈ μ±λ λ§λ€ λ€μν μ΅μ μ μ§μ ν μ μμ΅λλ€.
λ°°ν¬νλ μ±λλ§λ€ μ§μ λ λ°μ΄ν° μμ§μ΄ κ°λ₯ν©λλ€.
λμμ μ¬μμ μν΄ Video-gatewayλ₯Ό νΈμΆνλ©΄ 컨ν μΈ μ¬μμ μν λ€μν μ 보λ₯Ό νλ μ΄μ΄ μ λ¬νκ² λλ©°, μ΄λ μ¬μκ³Ό κ΄λ ¨λ μ 보λ₯Ό μ λ¬ν μ€μ μ ν¨κ» μ λ¬ν©λλ€.
μ¬μ μ 보λ₯Ό νμ©νκΈ° μν΄ μ€μ ν Urlμ κ΄λ ¨ μ 보λ₯Ό μ λ¬ν©λλ€.
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 |
|---|---|---|---|---|
μμ
| λͺ¨λ μ¬μ μκ° ν¬ν¨(κ΅¬κ° λ°λ³΅ ν¬ν¨) | λͺ¨λ μ¬μ μκ° ν¬ν¨(κ΅¬κ° λ°λ³΅ λ―Έ ν¬ν¨) | νλ μ΄μ΄ μ¬μ μκ° | νλ μ΄μ΄ μ€μ μ¬μ μκ° |
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) |
|---|---|---|---|
{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
=123456789Etc.
λΈλκ°μ μ ν (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