Shoplive Player 샘플코드

Shoplive Player 설치 예시

messageCallback 을 사용하여 쿠폰 다운로드, 상품 클릭, 로그인이 필요한 기능 접근 이벤트가 발생하였을 시, 수행 동작 재정의 하고, 데스크탑과 모바일 사이즈에 모두 적용되는 스타일을 적용한 Shoplive Player를 표시합니다.

<html>
  <head>
    <title>Shoplive - Simple player example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover, shrink-to-fit=no" />
    <script type="text/javascript" src="https://static.shoplive.cloud/shoplive.js"></script>
    <script>
      let messageCallback = {
        DOWNLOAD_COUPON: function (payload) {
          // get Current Player
          var player = cloud.shoplive.getPlayer();
          // if, ONAIR player
          if (
            player.campaignStatus === "ONAIR" &&
            player.campaignKey === payload.campaignKey
          ) {
            // copy to clipboard
            var textarea = document.createElement("textarea");
            document.body.appendChild(textarea);
            textarea.value = payload.coupon;
            textarea.select();
            document.execCommand("copy");
            document.body.removeChild(textarea);
            // Show Dialog
            player.sendMessage("showDialog", {
              title: "Copy to clipboard completed.",
              message: payload.coupon,
            });
          }
        },
        CLICK_PRODUCT: function (payload) {
          // 클릭한 상품 URL에 새로운 파라미터를 추가할 수 있습니다.
          var url = payload.url + "&parameter=" + "{your_parameter}";

          // 현재 창에서 상품 페이지로 이동합니다.
          location.href = url;
        },
        LOGIN_REQUIRED: function (payload) {
          alert("LOGIN_REQUIRED");
          location.href = "YOUR_LOGIN_PAGE_URL";
        },
      };
      cloud.shoplive.init({
        accessKey: "{YOUR_ACCESS_KEY}",
        messageCallback: messageCallback,
      });
      
      let userId = "USER_ID";
      let userName = "USER_NAME";
      if (userId) {
        cloud.shoplive.setUserObject({ userId: userId, userName: userName });
      }
    </script>
    <style>
      html,
      body {
        margin: 0;
        padding: 0;
        background-color: #333;
      }
      #shoplive-player {
        max-width: calc(100vh / 16 * 9 - 2px);
        margin: auto;
      }
      @media screen and (max-width: 480px) {
        #shoplive-player {
          max-width: 100%;
        }
      }
    </style>
  </head>
  <body>
    <div id="shoplive-player"></div>
    <script defer>
      cloud.shoplive.setPlayer("shoplive-player", { campaignKey: "YOUR_CAMPAIGN_KEY" });
    </script>
  </body>
</html>