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}