Shoplive Developers
한국어KOEnglishEN日本語JA
Shoplive Developers
사용 가이드
한국어English日本語
RSS

What's New

제품 업데이트를 날짜순으로 모았습니다.

2026-10-20
화요일
신규 라이브

Flutter SDK 3.0.3 — 송출 화면 웹 페이지 · PIP 끌어내 닫기

  • Shoplive iOS · Android SDK 3.0.3 기반입니다. 3.0.2 대비 Dart 호환성 변경은 없고, 패키지 세 개를 같은 버전으로 올리세요
  • ShopliveStreamer.instance.start(campaignKey, webPageUrl: …) 로 송출 화면 옆에 웹 페이지를 붙입니다. URL 이 잘못되면 INVALID_ARGUMENT 로 실패합니다
  • ShoplivePipOptions.isDragOutToCloseEnabled 로 인앱 PIP 창을 화면 밖으로 끌어내 닫을지 정합니다
  • 세션이 열린 상태에서 start 를 다시 부르면 새 설정으로 플레이어를 엽니다. 설정을 유지한 채 방송만 바꾸려면 play 를 쓰세요
  • 쿠폰 · 커스텀 액션 응답에서 alertType 을 생략하면 두 플랫폼 모두 toast 입니다
  • ShopliveConfiguration.appVersion 은 무시됩니다(SDK 가 앱 버전을 직접 읽음). ShopliveError.rawCode 가 두 플랫폼 모두 채워집니다
호환성 변경 레거시 v1

Flutter SDK 1.9.0 — 숏폼 API 제거 · 최소 iOS 15

숏폼 API(ShopLiveShortform)가 없어지고 최소 iOS 가 15.0 으로 올라갔습니다. 숏폼 코드를 지운 뒤 올리고(계속 쓰려면 1.8.14 유지), ios/Podfile 에 platform :ios, '15.0' 을 지정하세요.

  • 내장 Shoplive iOS · Android SDK 를 1.9.0 으로 올렸습니다
  • Android 는 SDK 를 https://sdk.shoplive.cloud/maven-repo 에서 받습니다. 프로젝트가 저장소를 직접 선언한다면 이 저장소를 추가하세요
  • 1.x 유지 보수 릴리스입니다. 새로 연동한다면 3.0.3 을 쓰세요
2026-10-16
금요일
신규 라이브

iOS SDK 3.0.3 — 프리뷰 스트림 · 송출 화면 웹 페이지

  • ShoplivePlayerConfiguration.type 에 .preview 를 주면 캠페인의 저해상도 프리뷰 스트림으로 재생합니다. ShoplivePlayerConfiguration.preview 프리셋도 이것을 씁니다
  • in-App PIP 창을 화면 밖으로 끌어내 닫을지 pip.isDragOutToCloseEnabled 로 정합니다(기본 true). false 면 제자리로 돌아오고 닫기 버튼 · close() 로만 닫힙니다
  • ShopliveStreamerViewController(campaignKey:webPageURL:) 로 송출 화면 옆에 고객사 웹 페이지를 붙일 수 있습니다
  • ShopliveError.rawCode 로 원본 숫자 오류 코드를 받습니다. 쿠폰 · 커스텀 액션 응답은 생략하면 status 가 .hide, alertType 이 .alert 입니다
  • 무음으로 시작한 재생이 다른 앱 소리를 끊지 않고, in-App PIP 중 reload() 가 PIP 창을 유지합니다
호환성 변경 라이브

Android SDK 3.0.3 — 프리셋 · 송출 화면 웹 페이지

ShopliveConfiguration.appVersion 이 없어졌고, ShopliveError · 오류 코드가 core 패키지(cloud.shoplive.core.publicsurface)로 합쳐졌습니다. appVersion 인자를 지우고 import 를 고치세요. 3.0.2 로 빌드한 코드는 다시 컴파일해야 합니다.

  • ShoplivePlayerConfiguration · ShoplivePlayOptions 에 DEFAULT · PREVIEW 프리셋을 추가했습니다
  • in-App PIP 창을 끌어내 닫을지 PipOptions.isDragOutToCloseEnabled 로 정합니다(기본 true)
  • ShopliveStreamer.start 에 webPageUrl 을 주면 송출 화면 옆에 고객사 웹 페이지가 붙습니다. 웹 플레이어의 사용자 행동 로그는 WebCommandReceived(EVENT_LOG)로 옵니다
  • 쿠폰 · 커스텀 액션 응답의 alertType 기본값이 ALERT 입니다. 웹 기본값을 따르려면 null 을 넘기세요
  • 별도 WebRTC · RTMP · ExoPlayer · media3 아티팩트는 더 이상 배포하지 않고, ExoPlayer 2 지원을 끝냈습니다
2026-10-15
목요일
호환성 변경 라이브

Flutter SDK 3.0.2 — Shoplive SDK 3.0.2 기반으로 새로 만들었습니다

1.x Dart API 가 없어집니다. 올리기 전에 릴리스 노트의 마이그레이션 안내를 확인하세요.

  • 패키지 3개로 나눴습니다: shoplive_core · shoplive_player · shoplive_streamer (세 패키지는 같은 버전으로)
  • 모든 메서드가 Future 를 돌려주고, 실패는 오류 코드가 있는 PlatformException 으로 옵니다
  • 쿠폰 · 커스텀 액션 요청에 respond 로 응답합니다
  • Android 인앱 PIP 로 바뀔 때 재생이 멈추던 문제를 고쳤습니다
  • 요구 사항: Flutter 3.22 · Dart 3.4 · iOS 15 · Android minSdk 23
2026-10-12
월요일
개선 라이브

웹 라이브 플레이어 — 10월 업데이트

  • 출석 체크(출석왕)를 마치면 완료 토스트와 등장 효과를 보여 줍니다
  • 가로 방송 실시간 자막의 데스크톱 기본 크기를 줄여(2배 → 1.25배) 화면을 덜 가립니다
2026-10-08
목요일
개선 레거시 v1숏폼

Android SDK 1.9.0 (V1 · 숏폼)

  • 팝업 프리뷰가 방송이 끝나면 바로 닫히고, 닫힘 사유로 ON_BROADCAST_ENDED 를 받습니다 — iOS 와 같은 동작
  • 프리뷰 아래 여백을 모든 기기에서 내비게이션 바 위부터 잽니다. 상태바 높이를 여백에 더해 두었다면 빼 주세요
  • 숏폼 프리뷰가 정사각형이 아니라 9:16 으로 열립니다
  • 홈 버튼 · 제스처로 나갈 때 OS PIP 와 함께 앱이 다시 앞으로 나오던 문제를 고쳤습니다
2026-10-06
화요일
수정 숏폼

웹 숏폼 — 10월 업데이트

  • iOS · macOS Safari 에서 숏폼 상세를 처음 열 때 화면이 깜빡이던 문제를 고쳤습니다
2026-10-01
목요일
개선 라이브

iOS SDK 3.0.2

  • 웹 오버레이가 보낸 명령을 받는 ShoplivePlayerEvent.webCommand(name:payload:) 를 추가했습니다. switch 로 모든 case 를 다루고 있다면 이 case 를 더해 주세요
  • 웹뷰에서 SDK 기능은 Shoplive 페이지에서만 동작합니다(코드 변경 없음)
  • 형식이 잘못된 accessKey 는 쓰지 않고 로그에 오류를 남깁니다
  • 방송 화면을 띄운 동안 화면이 잠기지 않습니다
  • stateChanged 중복 알림을 없애고, stop() 에서 closed 를 알리며, 시스템 PIP 를 닫은 뒤 검은 화면이 남던 문제를 고쳤습니다
호환성 변경 라이브

Android SDK 3.0.2

ShopliveStreamer.intent(...) 가 없어졌습니다. prepareIntent 로 바꾸고, 콜백으로 받은 Intent 를 시작하세요.

  • 앱을 나가도 플레이어가 유지됩니다 — HLS 는 멈췄다 이어 재생, WebRTC 는 돌아오면 다시 연결
  • 볼륨 키 · 오디오 포커스 옵션(sound.isVolumeKeyEnabled · sound.autoResumeOnFocusGained)이 적용됩니다
  • 방송이 끝나도 같은 화면에 머물고, 치명적 오류에서는 재시도 · 종료를 고를 수 있습니다
  • 웹뷰의 네이티브 브리지는 Shoplive 페이지에서만 동작합니다
2026-09-30
수요일
신규 라이브

웹 라이브 플레이어 — 9월 업데이트

  • 공동 방송(멀티 호스트): 여러 호스트가 함께 방송할 때 지금 말하는 사람을 표시합니다
  • 라이브 출석왕: 시청자가 방송에서 출석 체크를 할 수 있습니다
  • 실시간 자막을 켠 방송은 진입하자마자 자막을 보여 줄 수 있습니다(어드민 설정). 가로 방송 자막 크기는 화면 방향 · 기기에 맞춥니다
  • 방송 준비 중 화면에 시작까지 남은 시간(카운트다운)을 보여 줍니다
  • 브라우저 PIP 를 지원하지 않는 환경에서는 웹 PIP 로 대신합니다
  • 인스타그램 인앱 브라우저에서 배너를 눌러도 이동하지 않던 문제, 리플레이 탐색 바 오동작, 자막을 끈 방송의 리플레이에 자막 버튼이 보이던 문제를 고쳤습니다
2026-09-23
수요일
신규 숏폼

웹 숏폼 — 9월 업데이트

  • 스토리: 인스타그램 스토리처럼 원형 트레이로 숏폼을 노출하는 setShortformStory 를 추가했습니다. '본 것' 표시는 카드를 누른 시점에 붙습니다
  • 숏폼 상세에 시청자 수를 표시합니다
  • 컬렉션 프리뷰로 다시 들어가면 회색 화면이 뜨던 문제, 더 보기로 나중에 붙은 상품에 쇼케이스가 붙지 않던 문제를 고쳤습니다
2026-09-14
월요일
호환성 변경 레거시 v1

iOS SDK 1.9.0 (V1)

최소 iOS 가 15.0 으로 올라갔습니다(기존 11.0).

  • Player · Common 을 저장소 하나(shoplive-sdk-ios)에서 배포합니다. ios-sdk · common-ios 는 1.8.15 에서 멈춥니다
  • Swift Package Manager 제품 이름이 ShopLive 에서 ShopLiveSDK 로 바뀌었습니다(CocoaPods pod 이름은 그대로 ShopLive)
  • API 변경은 없습니다 — 1.8.11 이상이면 버전만 올리면 됩니다
  • 커스텀 액션에서 SHOW · KEEP 응답이 무시되던 문제를 고쳤습니다
2026-09-07
월요일
호환성 변경 라이브

Android SDK 3.0.1 — 인앱 PIP · 비공개 방송

전체 화면에서 뒤로 가기를 누르면 플레이어가 닫히지 않고 인앱 PIP 로 작아집니다. 이전처럼 닫으려면 pip.isInAppPipEnabled = false 로 설정하세요.

  • 인앱 PIP: 앱 화면 위에 끌어 옮기는 미니 창으로 재생합니다. ShoplivePlayOptions(presentationStyle = ShoplivePlayerPresentationStyle.PIP) 로 처음부터 PIP 로 시작할 수 있습니다
  • 비공개 방송: 입장 코드가 확인될 때까지 재생 · PIP 를 막습니다
  • AndroidX Media3 를 기본 HLS 엔진으로 씁니다(ExoPlayer 2 도 선택 가능 — 둘 중 하나만)
  • OS PIP 를 쓸 수 없는 이유를 알리는 오류 코드(9510~9514)를 추가했습니다
  • appearance.allowScreenCapture = false 가 화면 캡처를 막지 못하던 문제, navigation.actionOnNavigation 이 동작하지 않던 문제를 고쳤습니다
2026-08-31
월요일
호환성 변경 레거시 v1

Android SDK 1.8.14 (V1)

SDK 는 Shoplive Maven 저장소(https://sdk.shoplive.cloud/maven-repo)에서 배포합니다(1.8.13부터). 저장소를 추가하고, POM 에 전이 의존성이 없으니 쓰는 아티팩트를 각각 선언하세요(shoplive-common · shoplive-network · shoplive-sdk-core 등).

  • 캠페인 목록 API ShopLiveCampaigns.getCampaigns 를 추가했습니다. 서버 연동 없이 앱에서 캠페인 목록과 진행 상태를 조회합니다(상태 필터 · 페이지 · 정렬 · 취소 지원) — 홈 화면 라이브 배지 등에 쓰세요
  • 프리뷰 · OS PIP 닫힘을 한 핸들러(onClose)로 받습니다. 닫힘 사유가 함께 오고 화면당 한 번만 호출됩니다
  • 다시 보기 끝 무렵 재생이 멈추던 문제, 스와이프로 프리뷰를 닫으면 콜백이 오지 않던 문제, 닫기 콜백이 두 번 오던 문제를 고쳤습니다
2026-08-27
목요일
신규 라이브

웹 라이브 플레이어 — 8월 업데이트

  • 채팅 입장 알림: 시청자가 들어오면 채팅에 알립니다. 추첨 이벤트가 시작되면 채팅에 안내 메시지를 띄웁니다
  • 당첨 결과: 익명 당첨자 집계, 당첨자 명단 숨기기, 당첨자 이름 마스킹을 지원합니다
  • 쿠폰 팝업에 클립보드 복사 동작을 추가했습니다
  • 자막: 리플레이 자막 2줄 표시 · 저장 영상 송출의 SRT 자막, 긴 자막을 나눠 차례로 보여 주기, 한국어 UI 의 CC 버튼을 '자막' 아이콘으로 교체, 음소거 중 자막 자동 표시(어드민 설정)
  • 상품 그룹을 바꾸면 상품 목록이 맨 위부터 보이고, 일부 리플레이에서 해상도 선택이 보이지 않던 문제를 고쳤습니다
2026-08-26
수요일
신규 라이브

iOS SDK 3.0.1 — 프리뷰를 인앱 PIP 로 시작

  • ShoplivePlayOptions.presentationStyle = .pip 로 재생을 처음부터 떠 있는 인앱 PIP 창으로 엽니다. preview 프리셋(PIP 시작 · 음소거 · 오버레이 숨김)이 2.x 프리뷰 팝업을 대신합니다. 기본값은 그대로 .fullScreen 입니다
  • 인앱 PIP 창을 화면 밖으로 밀어 닫을 수 있습니다
  • 캠페인에 설정한 라이브 배지를 인앱 PIP 위에 그립니다
  • 입장 코드가 있는 비공개 방송을 HLS · WebRTC 모두에서 재생합니다
  • 플레이어 WebSocket 을 정리하는 중 메시지가 오면 앱이 종료되던 문제를 고쳤습니다
2026-08-19
수요일
호환성 변경 라이브

Android SDK 3.0.0 — 통합 SDK 첫 배포

아티팩트 좌표와 공개 API 가 바뀌었습니다. cloud.shoplive:shoplive-player-sdk · shoplive-streamer-sdk 만 선언하면 나머지는 따라옵니다.

  • 플레이어 설정을 개별 setter 대신 ShoplivePlayerConfiguration 값 하나로 넘깁니다
  • sound.mixWithOthers 기본값이 false 로 바뀌어 재생 중 다른 앱 소리를 멈춥니다. 이전처럼 섞으려면 true 로 설정하세요
  • 스트리머가 캠페인 설정에 따라 RTMP 로도 송출합니다
  • sound.muteOnStart 가 무시되던 문제, 방송 종료 시 검은 화면 대신 배경 이미지를 보여 주지 않던 문제 등을 고쳤습니다
2026-08-14
금요일
신규 레거시 v1

Flutter SDK 1.8.14

  • 라이브 플레이어 화면 맞춤을 정하는 ShopLivePlayer.setResizeMode() 를 추가했습니다(auto · centerCrop · fit)
  • 내장 Shoplive iOS · Android SDK 를 1.8.13 으로 올렸습니다
2026-08-11
화요일
개선 숏폼

웹 숏폼 — 8월 업데이트

  • 쇼케이스에 상품 URL 로 연결하는 url 모드를 추가하고 사용성을 다듬었습니다
  • 만료된 accessKey 로는 초기화하지 않습니다

이 페이지와 피드는 저장소의 sites/hub/feed/*.xml 에서 생성됩니다 · 사용 가이드 · RSS · © Shoplive