send 함수

SHOPLIVE 플레이어에 명령을 전송할 때 사용합니다. 플레이어에서 특정 UI 구성 요소를 숨기거나 노출할 수 있고, 음소거를 하거나 해제할 수도 있습니다.

mplayer("send", action, payload)

action

기능

payload

showControls

컨트롤 보이기

없음

mute

음소거

없음

unmute

음소거 해제

없음

removeBanner

배너닫기

없음

removeCoupon

쿠폰닫기

없음

removeNotice

공지닫기

없음

showToast

메시지 토스트 띄우기

{
"message": "{메시지}",
"duration": {밀리초},
"position": "BOTTOM|CENTER|TOP"
}

아래의 샘플 코드를 참고하시기 바랍니다.

mplayer("send", action, payload);

// 컨트롤 보이기
mplayer("send", "showControls");

// 쿠폰 다운로드 후 수동으로 추적 이벤트 전달할 때
var messageCallback = {
  DOWNLOAD_COUPON: function(payload, parent) {
    var type = payload.type;
    var coupon = payload.coupon;
    alert(payload.coupon + " 쿠폰을 다운로드했습니다.");
    if (type === "BANNER") {
      mplayer("send", "removeBanner");
    } else if (type === "COUPON") {
      mplayer("send", "removeCoupon");
    } else if (type === "NOTICE") {
      mplayer("send", "removeNotice");
    }
  },
};

모바일 앱의 이벤트를 위한 설정

모바일 어플리케이션과의 연동을 진행할 경우 앱 이벤트에 대해 아래와 같은 명령을 플레이어에 전송할 수 있습니다.

action

앱 이벤트

payload

샘플

videoInitialized

비디오 초기화 완료

없음

예) mplayer("send", "videoInitialized");

showGoodsUi

키보드가 내려갈 때 채팅 입력창을 없애고 상품 카드 뷰를 노출

없음

예) mplayer("send", "showGoodsUi");

setIsPlayingVideo

영상의 재생 상태가 변할 때 호출. 재생이 시작되면 true, 멈추면 false

{"value": true}

예) mplayer("send", "setIsPlayingVideo", {"value": true});

onVideoTimeUpdated

(리플레이 m3u8) 영상 재생 중인 시간의 상대적인 위치 정보를 주기적으로 호출.

{"value": 35.5}

웹에서 250ms마다 호출중. 앱에서는 1초 혹은 그 이하 주기로 호출해 주세요.
예) mplayer("send", "onVideoTimeUpdated", {"value": 35.5});

onVideoDurationChanged

(리플레이 m3u8) 영상의 길이 정보가 획득될 때 호출

{"value": 3601.3}